if __name__ == '__main__'的几个疑问?

一、书写错误

  我在抄写代码的时候遇见一个问题吗,就是抄错代码,后来才发现__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__':语句。

posted @ 2020-09-11 07:30  YuDi雨恋  阅读(199)  评论(0)    收藏  举报