Python中__name__屬性的妙用


在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...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM