__name__
是表示Python
模塊名字的一個系統變量,該變量的值可分爲兩種情況:
- 如果當前模塊是主模塊,其值爲
__main__
- 如果當前模塊是被調用的模塊,其值爲該模塊的名稱
如果不明白的話,下面的例子可以幫你理解哦
- 創建
test_name.py
文件,內容如下:
def print_name():
print(__name__)
if __name__ == "__main__":
print(name)
- 創建
test_name_1.py
文件,文件內容如下:
import test_name
if __name__ == "__main__":
print(test_name.__name__)
如果單獨運行test_name.py
文件,會得到__main__
;如果運行test_name_1.py
文件,會得到test_name
。
根據__name__
這個特性,可以:
- 表示模塊的某個功能,只能被自己使用,還是可以被其他模塊調用
- 通過與
if
和__main__
的結合,可以判斷項目的主入口是哪個文件或者哪幾個文件