??我在抄写代码的时候遇见一个问题吗,就是抄错代码,后来才发现__name__
的下划线是两个下划线。
??if __name__ == ‘__main__‘:
有什么作用,如果没有它还能运行吗?
建立一个name_main.py的文件并运行。
def printHello():
print(‘Hello World!‘)
print(__name__)
printHello()
结果为:
Hello World!
__main__
此时我们重新再建立一个name_main1.py文件,导入我们之前写的文件。
from name_main import printHello
结果:
Hello World!
name_main
我们只导入就会执行一次原先的文件,实际上我们并不希望得到这样的结果。if __name__ == ‘__main__‘:
能很好的解决这个问题。
在name_main.py的基础上加上if __name__ == ‘__main__‘:
:
name_main1.py执行结果为:
Process finished with exit code 0
因为name_main1.py我们只有导包一条语句,并没有执行其他的语句,所以此时name_main.py并不会执行,这得益于if __name__ == ‘__main__‘:
。在Python函数调用的编写中,尽量使用if __name__ == ‘__main__‘:
语句。
if __name__ == '__main__'的几个疑问?
原文:https://www.cnblogs.com/yu-lian/p/13649567.html