1. 程式人生 > >從零開始學Python3之五——模組

從零開始學Python3之五——模組

    from ... import ... 什麼的我就不寫了= =

模組的 __name__

每個模組都有一個名稱,模組中的語句可以找到它們所處的模組的名稱。當模組第一次被匯入時,它所包含的程式碼將被執行。我們可以通過這一特性來使模組以不同的方式執行,這取決於它是為自己所用還是從其它的模組匯入而來。這款有通過模組的 __name__ 屬性來實現。

if __name__ == "__main__":
    print("This program is being run by itself")
else:
    print("I am being imported from another module")
執行結果:
    每一個Python模組都定義了它的__name__屬性。
    如果它與__main__屬性相同則代表這一模組是由使用者獨立執行的。

編寫自己的模組

    案例(儲存為  mymodule.py ):

def say_hi():
    print("Hi, this is mymodule")

__version__ = '0.1'
    在相同目錄下用另一個Python程式使用這個模組。
import mymodule

mymodule.say_hi()
print("Version", mymodule.__version__)
執行結果:下面是一個使用  from...import  語法的範本:
from mymodule import say_hi, __version__

say_hi()
print("Version", __version__)
    執行結果同上。    from mymodule import * 將匯入諸如say_hi等所有公共名稱,但不會匯入__version__名稱,因為後者以雙下劃線開頭。所以要儘量避免from mymodule import ... 這種形式。