python中if __name__ == '__main__'功能的解析
【說明】
在使用python進行工作過程中我們經常能夠看到腳本或者程序里再結尾處都有**“if name == ‘main’:”**語句,說到“if name == ‘main’:” 語句的作用我們首先得理解:
python作為一種腳本語言,因其自身作為腳本語言的特點所以我們碼好的文件有兩種執行方式:
1. 直接作為腳本執行;
2. 通過import語句再其他python腳本中一模塊的形式被調用執行。
因此if name == ‘main’: 的作用就是控制這兩種情況執行代碼的過程,在if name == ‘main’: 下的代碼只有在第一種情況下(即文件作為腳本直接執行)才會被執行,而import到其他腳本中是不會被執行的。
【案例講解】
【eg】: ( <test3.py>與 <test4.py>在同一文件夾下)
<test3.py>
results:
<test4.py>
results:
結果分析:
這段代碼的主要作用主要是讓該python文件既可以獨立運行,也可以當做模塊導入到其他文件。當導入到其他的腳本文件的時候,此時__name__的名字其實是導入模塊的名字,不是’main’, main代碼里面的就不執行了。
當我們在執行任何一個py文件時__main__等于當前執行文件的名稱(包含了后綴.py)。進而當test3直接執行時,name == 'main’結果為真,main中的內容可以被執行;
在使用python中軟件自身每個python文件(test3.py和test4.py)都默認包含內置的變量“name,”在實際操作過程中,當.py文檔被執行時,實際的__name__其實默認等于我們創建的包含了后綴.py插入文件文件名;
如本例中將的test3插入到test4中時,執行test4, 此時加入print(name),test4.py中的__name__變量值為test3,而’main’變量值為test4,所以不滿足__name__=="main"的條件,因此,運行test4無法執行if條件之后的代碼,運行test3可以執行if條件之后的代碼。
總結
以上是生活随笔為你收集整理的python中if __name__ == '__main__'功能的解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-tkinter模块图形分布
- 下一篇: Python 与 SQLServer数据