python自學筆記第三篇:if _ _name_ _ == "_ _main_ _":的理解

先看實例:
a.py文件代碼:

def main():
    print("你好醜")
main()

b.py文件代碼:

import a

b.py文件運行結果是

>>> 你好醜

如果a.py文件代碼爲

def main():
    print("你好醜")
if __name__ == '__main__':
    main()

a.py文件運行結果是:

>>> 你好醜

b.py文件運行結果是

>>> 

即main()函數沒有被調用,因爲

__name__ == '__main__'#結果爲False

如果在a.py文件後面再加一行代碼就能更加清楚了:

def main():
    print("你好醜")
if __name__ == '__main__':
    main()
else:
    print('我好帥')

此時執行b.py得到的結果是

>>> 我好帥

其中原理是:
1、__name__是python的只讀內置變量
2、當直接運行a.py文件是__name__ 的值爲__main__ ,所以if判斷爲True,執行main()函數
3、當b.py文件中打開文件a.py時,此時a.py文件中的__name__ 值爲a,即模塊的名稱,所以if判斷爲False,執行else後面的語句

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章