1. 程式人生 > 實用技巧 >07Python模組化程式設計

07Python模組化程式設計

Python模組化程式設計

  • 模組

    模組是一個包含所有你定義的函式和變數的檔案,其後綴為.py(就如我們編寫的程式就是一個模組),可被其他程式引入。以使用該模組的函式等功能

    模組分為三種:

    1.內建模組:sys,os,subprocess,time等

    2.自定義模組:人為自己編寫的模組,莫與自帶模組一個名

    3.開源模組:可安裝下載各種牛逼的模組

  • 函式

1.函式的定義

格式:

def 函式名(形參表):
    函式體語句序列
    []#可選項,即可以沒有返回值

函式呼叫:

函式名(實參表) 

說明 :

函式必須先定義再使用

函式名與變數名的命名規則相同,只能包含字母,數字,下劃線,且不能以數字打頭

例:

def start():
    print("Hello World!")
    
if __name__ == '__main__':
    try:
        start()
    except KeyboardInterrupt:
        print('被終止')

2. 區域性變數和全域性變數

區域性變數

只作用於函式或程式碼塊內。作用範圍有限。

全域性變數

可被不同的函式/類/檔案共享。可被檔案內部任何函式和外部檔案訪問。全域性變數通常在檔案的開始處定義。

3. 模組安裝及使用

現在已經安裝的模組,查詢:

>>>help('modules')

檢視現在已安裝的所有模組

3.1 模組的安裝及映象的替換

在internal終端,輸入 pip install xx即可安裝模組。可直接輸入命令pip install -i 映象源 包

或者直接更換為國內映象源,以後不用再搜尋。可以加快下載速度。

提供幾個常見的國內映象源網站:

3.2 pip命令

pip install <第三方庫>           #
安裝庫 ​ pip insatall -U<第三方庫> #更新已安裝的庫 ​ pip show<第三方庫> #列出庫的詳細資訊 pip uninstall<第三方庫> #解除安裝 pip list #列出已經安裝的第三方庫

3.3 模組匯入方式

1.import 模組 as 別名

import 直接匯入模組

import math

a=math.exp(2)

2.from ... import ...

用於只匯入指定模組的部分屬性

from math import exp

a = exp(2)

4. 自定義包和模組

4.1 理解name屬性

每個py指令碼執行時都有一個name屬性:

若py檔案獨立執行則,__name__== __main__

若py檔案作為模組匯入,則其name屬性__name__== __xx__

例:

《Used_by.py》

if __name__ == '__main__':
    print('我是直接執行的')
elif __name__ == 'Used_by':
    print('Used_by模組被呼叫了')

《理解包和模組》

import Used_by
if __name__ == '__main__':
​
    print('------我是另一個模組,特意來呼叫別的模組-------')

執行結果:

(venv) λ python Used_by.py
我是直接執行的
​
​
(venv) λ python 理解包和模組.py
Used_by模組被呼叫了
------我是另一個模組,特意來呼叫別的模組-------

4.2 如何使用包或者定義包和模組

包可以用來管理多個模組,可看作包含大量py模組的資料夾。在每個包的目錄中都有一個__init__.py的檔案,其可以是一個空檔案,只為標識檔期那資料夾是一個包。

__init__.py檔案:

主要作用設定 __all__變數及初始化包所需要的程式碼