Python中__name__屬性的妙用
阿新 • • 發佈:2018-07-22
-s mod 特點 ont __main__ span pytho 執行 自己
在Python中,每一個module文件都有一個built-in屬性:__name__,這個__name__有如下特點:
1 如果這個module文件是被別的文件導入的,那麽,該__name__屬性的值就是這個module文件的名字;
2 如果這個module文件是被當成程序來執行,那麽,該__name__屬性的值就是"__main__"
因此,在很多Python代碼中,__name__屬性被用來區分上述module文件被使用的兩種方式。一種常用的做法是將module文件自己的單測代碼,放到__name__屬性為"__main__"的情形中去。
比如,有test.py文件:
def tester():print("It‘s Christmas in Heaven...") if __name__ == ‘__main__‘: tester() # 調用單測代碼
如果這個文件是被其他文件導入的,那麽,tester函數不會執行:
>>>import test # tester函數不會執行,除非顯示調用 >>>test.tester() It‘s Chrismas in Heaven...
但是如果test.py被當成程序執行,那麽,tester函數會執行:
python test.py
It‘s Chrisma in Heaven...
Python中__name__屬性的妙用