當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python __name__用法及代碼示例

由於Python中沒有main()函數,因此當向解釋器發出運行Python程序的命令時,將執行0級縮進的代碼。然而,在此之前,它將定義一些特殊變量。 __name__ 就是這樣一個特殊變量。如果源文件作為主程序執行,則解釋器將 __name__ 變量設置為值“__main__”。如果此文件是從另一個模塊導入的,則 __name__ 將設置為模塊的名稱。
__name__ 是一個內置變量,其計算結果為當前模塊的名稱。因此,它可用於檢查當前腳本是否單獨運行或通過與 if 語句組合來導入其他位置,如下所示。

考慮兩個單獨的文件 File1 和 File2。


# File1.py  
  
print ("File1 __name__ = %s" %__name__)  
  
if __name__ == "__main__":  
    print ("File1 is being run directly") 
else:  
    print ("File1 is being imported") 

# File2.py  
  
import File1  
  
print ("File2 __name__ = %s" %__name__)  
  
if __name__ == "__main__":  
    print ("File2 is being run directly") 
else:  
    print ("File2 is being imported") 
Now the interpreter is given the command to run File1.py.
python File1.py
Output :
File1 __name__ = __main__
File1 is being run directly


And then File2.py is run.
python File2.py
Output :
File1 __name__ = File1
File1 is being imported
File2 __name__ = __main__
File2 is being run directly

如上所示,當直接運行 File1.py 時,解釋器將 __name__ 變量設置為 __main__,當通過導入運行 File2.py 時,解釋器將 __name__ 變量設置為 python 腳本的名稱,即 File1。因此,可以說 if __name__ == “__main__” 是使用 python File1.py 等命令從命令行運行腳本時運行的程序的一部分。


相關用法


注:本文由純淨天空篩選整理自佚名大神的英文原創作品 __name__ (A Special variable) in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。