最簡單的編寫模組的方法就是建立一個包含很多方法和變數並以 .py
為擴充套件的檔案。另一種方法就是編寫 Python 直譯器的語言來編寫模組。
一個模組會被引入到一個程式來使用它的功能。這就是我們使用 Python 標準庫的方法。首先,我們會了解如何使用標準庫模組。
例子:
import sys
print('The command line arguments are:')
for i in sys.argv:
print(i)
print('\n\nThe PYPATH is', sys.path, '\n')
輸出:
The command line argument are:
The path to your current file
The PYPATH is ['your python path']
位元組碼檔案 .pyc
Python 通過一些方法來使得匯入模組更加快速。其一,就是建立以 .pyc
為副檔名的 位元組碼 檔案,它是一種中間形式,Python 會把程式程式碼轉換成這樣的形式。
模組的 __name__
每一個模組都有一個名稱,在模組中我們可以通過判斷語句來確定模組的名稱。這在一種情形下特別有用:確定模組被匯入了?還是在獨立地執行。
建立你自己的模組
例子:
def say_hi():
print('Hi, this is mymodule speaking.')
__version__ = '0.1'
將上述程式碼儲存為 module.py
檔案。然後在當前目錄下,開啟 Python 互動式命令列,即為:
Python 3.8.2 (default, Feb 27 2020, 05:27:33) [GCC 9.2.0 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import module
# 引入 module 模組
>>> module.say_hi()
Hi, this is mymodule speaking.
>>> print('Version', module.__version__)
Version 0.1
>>>
dir
函式
內建的 dir()
函式能以列表的形式返回某個物件定義的一系列識別符號。如果這個物件是個模組,返回的列表中會包含模組內部所有的函式、類和變數。
這個函式接受一個可選的引數。當引數是模組名時,函式會返回對應模組的識別符號列表。沒有函式時則會返回當前模組的識別符號列表。
程式包
組織程式的結構層次:變數通常在函式的內部;全域性變數和函式通常在模組的內部。如何組織模組呢?這就是程式包出場的時候了。
程式包就是一個裝滿模組的資料夾,它有一個特殊的 __init__.py
檔案,這個檔案告訴 Python 這個資料夾是特別的,因為它裝著 Python 模組。
小結
如果說函式是程式的可重用部分,那麼模組就是可重用的程式。程式包則是組織模組的另一個層次。Python 附帶的標準庫就是一組程式包,其中包括了許多模組。
本作品採用《CC 協議》,轉載必須註明作者和本文連結