if __neme__ == "__main__" :
我们都只到python编写的文件可以直接运行,也可以当做模块来引用,不管哪一种方式,最顶层(以缩进方式来划分),都会被执行。
作用:
实际项目中,可能我们希望在引用这个module模块的时候,并不希望在导入的时候去执行顶层的code。
if __neme__ == "__main__" : 的作用就是放在里面的code只有在直接运行时候才生效执行,而作为模块被引用的时候是不执行的
举例:
下面是一个test.py
我直接运行上面这个程序,print("in")将会执行
。
如果我采用导入的方式,则不会执行
print(“in”)
最后
如果学过 C 或者 C++,知道程序入口是一个 main 函数。if name == ‘main’:的作用跟这个 main 函数相似,可以看作 Python 模拟的程序入口。而事实上,Python 是从源码文件的第一行开始,逐行解释然后运行,没有统一的程序入口。所以if name == ‘main’: 只能说是模拟的程序入口。
特别要注意__name__
的引号是没有的,因为他是一个内置变量
if __name__ == '__main__':
不是
if "__name__ "== '__main__':
作者:胖三斤66
链接:https://www.jianshu.com/p/989953d468d9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。