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


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。因此,可以說如果 __name__ == “__main__” 是使用 python File1.py 之類的命令從命令行運行腳本時運行的程序的一部分。






相關用法


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