模塊化簡介 | Python從入門到精通:高階篇之三十七
包 Package
包也是一個模塊。
當我們模塊中代碼過多時,或者一個模塊需要被分解為多個模塊時,這時就需要使用到包。
普通的模塊就是一個py文件,而包是一個文件夾。
創建一個hello的文件夾,此時它並不是一個包。
我們可以通過新建一個模塊來驗證。
import hello
print(hello)
執行結果:
包中必須要一個 __init__.py 這個文件,這個文件中可以包含有包中的主要內容。
在__init__.py這個文件中定義
a = 10
b = 20
def test():
print('test')
在新建的模塊中驗證:
print(hello.a)
print(hello.b)
hello.test()
執行結果:
在hello中新建a.py和b.py
在a.py中輸入:
c = 30
在b.py中輸入:
d = 40
將__init__.py中的a,b刪掉,此時在新建的模塊中輸出。
print(hello.a)
執行結果:
我們之所以建立包,是為了將相關的模塊放在一起,比如進行計算器的程序(加減乘除等操作)可以放在一個包中,方便管理,並且在引用的時候也可以根據需要去引用。
但是對於新建的模塊而言,如何引用hello的其他模塊呢?我們可以直接引用。
from hello import a , b
# print(a)
print(a.c)
print(b.d)
執行結果:
我們在新建a.py和b.py的時候會發現hello中多了一個__pycache__文件。
__pycache__ 是模塊的緩存文件。
py代碼在執行前,需要被解析器先轉換為機器碼,然後再執行。所以我們在使用模塊(包)時,也需要將模塊的代碼先轉換為機器碼然後再交由計算機執行。而為了提高程序運行的性能,python會在編譯過一次以後,將代碼保存到一個緩存文件中,這樣在下次加載這個模塊(包)時,就可以不再重新編譯而是直接加載緩存中編譯好的代碼即可。
配套視頻課程,點擊這裡查看
獲取更多資源請訂閱Python學習站