模組
獨立的程式檔案
程式碼太長太多
可將程式寫在不同的檔案中
此檔案可以重複載入使用
載入>使用
先載入模組,再使用模組中的函式或變數
基本語法
import 模組名稱
import 模組名稱 as 模組別名
模組名稱或別名.函式名稱(參數資料)
模組名稱或別名.變數名稱
內建模組
*sys模組
存放有關於系統的重要資訊
程式範例:
#載入sys模組
import sys
#使用sys模組
print(sys.platfrom) #印出作業系統
print(sys.maxsize) #印出整數型態的最大值
print(sys.path) #印出搜尋模組的路徑
使用別名:
#載入sys模組
import sys as s
#使用sys模組
print(s.platfrom) #印出作業系統
print(s.maxsize) #印出整數型態的最大值
print(s.path) #印出搜尋模組的路徑
*自訂模組
非內建模組需要自己需求建立的
範例:
建立幾何運算模組
建立檔案geometry.py
定義平面幾何運算用的函式
載入與使用
載入geometry模組,並使用模組中定義的功能
步驟一:建立一個主程式
*建立module.py
步驟二:建立模組
*建立geometry.py
(一定是 拍森 .py檔)
*定義:在geometry檔案中定義幾何運算功能
新增兩個功能
*計算兩個點之間的距離:
def distace(x1,y1,x2,y2)
returm ((x1-y1)**2+(X2-y2)**2)**0.5
*計算線段的斜率:
def slope(x1,y1,x2,y2)
return (y2-y1)/(x2-x1)
*載入使用
在主程式 module檔案中
載入geometry模組
計算:兩個點之間的距離
import geometry
result=geometry.distance(1,1,5,5)
#備註:模組名稱或別名.函式名稱(參數資料)
print(result)
#5.6568....
計算:線段的斜率
import geometry
result= geometry.slope(1,2,5,6)
print(result)
#1.0
調整搜尋模組的路徑
主程式輸入:
import sys
print(sys.path) #印出模組的搜尋路徑
#會印出超長一大串中括號[]的路徑列表,
記錄著很多資料夾,
python會按照順序去這些路徑搜尋,
也就是模組必須放在這些路徑中才會被找到
資料結構規劃:
一個專案資料夾同時存放各種主檔案與各種模組,非常雜亂!
所以要規劃更清楚的資料結構(看的順眼)
在專案資料夾建立新模組資料夾以方便管理
(在專案資料夾新增:modules)
回到主程式:
重新載入模組 import geometry
噴錯:ModuleNotFoundError:no module named 'geometry'
因為剛有更動模組的位置,
模組路徑並沒有包含剛剛創建的新資料夾,
所以拍森現在找不到路徑了,故噴錯
解決方法:
操作系統模組的路徑:
請拍森新增一個模組的搜尋路徑
(此範例為"相對"專案資料夾的路徑
import sys
sys.path.append("modules")
#在模組的搜尋路徑列表中「新增路徑:"modules"」
print(sys.path) #印出模組的搜尋路徑列表
#補充:
絕對路徑也可稱完整路徑:是指向檔案系統中某個固定位置的路徑,不會因當前的工作目錄而產生變化。 為做到這點,它必須包括根目錄。
相對路徑:以指定的工作目錄作為基點,避開提供完整的絕對路徑。
紀錄:
觀看教學影片學習是沒問題,
但要實際"輸出"要讓別人聽得懂
花了不少時間琢磨文字上的表達
OS:到底要怎樣表達呢??
OK 感謝看到這,希望我的解釋,可以幫助看得懂的人XD