python中为什么需要使用“if __name__ == '__main__'”语句
首先用最簡潔的語言來說明一下?if __name__ == '__main__': 的作用:防止在被其他文件導入時顯示多余的程序主體部分。
先舉個例子,如果不用 if __name__ == '__main__': 會發生什么事:
首先在yy.py中調用cs.py
#yy.py
import cs
print('引用cs')
cs.cs()
print('程序結束!')
cs.py文件如下
#cs.py
def cs():
print('一打開cs!')
print('cs主函數!')
運行結果會是:
cs主函數!
引用cs
一打開cs!
程序結束!
分析:也就是說,如果你的目的只是調用cs.py中的cs()函數,那么你在導入的時候就不要使用import cs
因為一旦你使用了import cs?
那么在運行至這一句導入代碼時會自動運行一次cs.py,cs.py中的函數被封裝不會被直接運行,但是cs.py中有沒被封裝的語句:
?
print('cs主函數!')
因此,這一句就會被多余地運行,哪怕你完全不需要這一句,你的目的只是調用cs.py中的cs()函數
就算是使用?
from cs import cs
運行結果還是一樣。
那么怎么才能避免運行不需要的代碼段呢?那就把不需要的代碼段也當成函數運行,但是這個函數有點特殊,他要區分是自身運行還是被調用導入而運行,如果是自身運行那么就把那些代碼段顯示出來,如果被調用就屏蔽掉。
于是?if __name__ == '__main__': 便應運而生
我們修改一下代碼
只修改一下cs.py的代碼:
def cs():
print('已打開cs!')
if __name__ == '__main__':
print('cs主函數!')
之后運行yy.py
結果如下:
引用cs
已打開cs!
程序結束!
?
到這一步,大家應該知道 ?if __name__ == '__main__': 是干什么用的了吧!
?
---------------------
作者:南宮第一
來源:CSDN
原文:https://blog.csdn.net/qq_27017791/article/details/80212016
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
轉載于:https://www.cnblogs.com/ExMan/p/10143769.html
總結
以上是生活随笔為你收集整理的python中为什么需要使用“if __name__ == '__main__'”语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring框架的事务管理之基于Aspe
- 下一篇: python xlrd处理表格常用方法