《Python 簡明教程》讀書筆記系列三 —— 模組

yidajiabei發表於2020-04-19

最簡單的編寫模組的方法就是建立一個包含很多方法和變數並以 .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 協議》,轉載必須註明作者和本文連結

日拱一卒,功不唐捐

相關文章