3. 點選當下編輯的Project名稱,例如我的名稱是marathon_python。
4. 點選Python Interpreter。
5. 點選+號新增模組。
6. 在搜尋的欄位輸入欲安裝的模組名稱,如這裡我輸入matplotlib。
7. 點選Install Package。
8. matplotlib旁顯示安裝中的訊息。
9. 安裝完成後,下方顯示Package 'matplotlib' installed successfully,可將此頁面關閉。
10. 在右方的Package欄位中,可以看到新增了許多相關的套件。
使用外部模組
至此,matplotlib模組就已經安裝完成,我們便可以導入此模組來使用其所提供的功能。
import matplotlib.pyplot
line = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
matplotlib.pyplot.plot(line)
matplotlib.pyplot.show()
執行結果:
自行開發的模組
Python也允許將自行建立的函數或類別儲存在獨立的文件中,再以模組的方式載入主程式。我們以
Day20所開發的程式為例,將所有的程式碼儲存在marathon_python_day20.py的文件中,在今天的主程式中導入。
import marathon_python_day20
執行後發現程式已經自動執行了marathon_python_day20.py中主程式的內容,但通常載入模組希望的是能夠獨立引用模組內的方法或類別,而非做為主程式來執行。因此,我們可以使用以下語法,將模組內的主程式部分放入if區塊中,如此一來,當該檔案做為模組導入時,便不會執行if區塊的內容,此時變數__name__的內容為模組的名稱marathon_python_day20。
# marathon_python_day20.py
if __name__ == "__main__":
# create a test pool
test_pool = []
for fact in fact_data:
fact_obj = CreateTestPool(fact["question"], fact["answer"])
test_pool.append(fact_obj)
# do fact test
fact_test = TestGenerator(test_pool)
while fact_test.is_last_questions():
fact_test.generate_next_question()
# comments
print(f"你的總分: {fact_test.score}/{fact_test.question_number}.")
if fact_test.get_score() > 4:
print("恭喜你答得比黑猩猩好!")
elif fact_test.get_score() == 4:
print("黑猩猩4ni?")
else:
print("趕快買本書來看吧!")
在今天的主程式中,我們就可以將marathon_python_day20.py中的資料與類別做為模組導入使用,
# marathon_python_day21.py
from marathon_python_day20 import fact_data, TestGenerator, CreateTestPool
# create a test pool
test_pool = []
for fact in fact_data:
fact_obj = CreateTestPool(fact["question"], fact["answer"])
test_pool.append(fact_obj)
# do fact test
fact_test = TestGenerator(test_pool)
while fact_test.is_last_questions():
fact_test.generate_next_question()
# comments
print(f"你的總分: {fact_test.score}/{fact_test.question_number}.")
if fact_test.get_score() > 4:
print("恭喜你答得比黑猩猩好!")
elif fact_test.get_score() == 4:
print("黑猩猩4ni?")
else:
print("趕快買本書來看吧!")
程式範例