Python學習筆記|Python之內建變數__name__

Tester_hope發表於2018-12-21

Python之內建變數__name__

1.含義

當前檔案中直接被執行時,name__相當於__main

nametest.py檔案中直接列印變數

#nametest.py
print(__name__)

結果為:

__main__

當在其他python檔案中匯入時,則__name__表示的是模組名

如下,在nametest.py中匯入nametest

#nametest_import.py
import nametest

結果如下:

	nametest

2.作用

當前指令碼執行時,if __name__ == '__main__'語句後面的內容被執行

#nametest.py
def fun():
    print('我是直接在當前指令碼中執行')

print(__name__)
if __name__ == '__main__':
    fun()

以上執行結果如下:

__main__
我是直接在當前指令碼中執行

PS:從上面的執行結果來看,if __name__ == '__main__'語句後面的內容被執行了

當被其他檔案以模組方式匯入的時候,則if __name__ == '__main__'語句後面的內容不會被執行

#nametest_import.py
import nametest

結果如下:

nametest

PS:從結果可以看出if __name__ == '__main__'語句後面的內容沒有執行
原因:當被其他檔案當成模組時,__name__為模組名nametest,則if語句不成立,故if後面的語句未被執行

推薦閱讀:
http://www.dengfeilong.com/post/60.html

相關文章