為了讓編譯器知道Package內有多少個類別,必須定義一個名為『__init__.py』的檔案
我們先建立一個資料夾名為Python,並在Python底下在建立one和two資料夾
並且在Python資料夾內建立一個名為『__init__.py』的檔案,建立test.py
__init__.py的程式碼如下:
__all__ = [ "one", "two" ]
all屬性是告知編譯器Python的Package內含有one以及two的Package
將__init__.py複製到one以及two資料夾底下,並修改為
#one __all__ = [ "test2" ]
#two __all__ = [ "test2" ]
在one以及two資料夾底下在建立test2.py,程式碼如下:
#one def a(): print("***") def b(): print("---") def c(): print("+++")
#two def a(): print("123") def b(): print("456") def c(): print("789")
而Python資料夾底下的test.py程式碼如下:
import one.test2 as one import two.test2 as two one.a() one.b() one.c() two.a() two.b() two.c()
編譯前,樹狀結構如下:
執行結果:
編譯後,樹狀結構如下:
『__pycache__』資料夾是為了快速載入模組,且相容於更低的版本
參考資料:
http://docs.python.org/3/tutorial/modules.html#packages