2018年4月29日 星期日

Python筆記:模組、套件與程式

匯入模組(module)

整個檔案匯入可以用import filename或是局部匯入可以用from filename import function_name

我們也可以為匯入的模組取個別名(alias),例如把上圖的第二行加上 as ex,這樣就可以使用叫簡短的ex來使用該模組。第七行的匯入也可以依樣畫葫蘆。

模組搜尋路徑

Python會在sys標準模組的path此一變數中定義要去哪裡找尋匯入的檔案,其中第一行的字串代表當前目錄。我們可以印出該變數內容來看(上方3行是用來印出變數的程式):
同時我們也要注意因為自定義模組和標準模組名字衝突而造成標準模組函式無法正常使用。

套件(package)

透過在程式的目錄下新增一個名為__init__.py的檔案(無論有無內容),此目錄就會被視為一個套件。例如我們可以在主程式的目錄下新增一個src目錄,並在裡頭放一些模組檔案,還有__init__.py,這樣一來src目錄就會被Python視為一個套件(多個模組檔案的集合)。

通用模組介紹

1. setdefault(ele, default)的用途是在指定字典中某鍵"ele"的值時,如果該鍵值不存在則設定為"default"。
2. defaultdict(func)則是建立一個預設值為某種類型或內容的字典。func可能是int(), dict()等等,也可能是自定義的任何內容。例如,defaultdict(int)用來建立計數器相當方便,因為該字典內的元素的預設值為0。
3. collections套件中的Counter(list)則是內建的計數器,呼叫它會回傳一個Counter物件。該物件有一些方法如most_common()可以降冪回傳結果,或是用"&", "+","-"來對多個物件計算。
4. collections套件中還有OrderedDict()可以協助我們建立記得項目順序的字典。
5 collections套件還有deque(一種雙頭的序列資料結構,同時具有stack和sequence的功能)可以使用。

沒有留言:

張貼留言