我们在运行python代码的时候,经常会看到这条语句
if name == ‘main’:
那么该语句究竟有什么作用呢?
这条语句是为了限定该语句后面代码的执行与否:
当模块是直接运行的时候,后面的代码块可以正常运行;
当模块是被动导入的时候,后面的代码块不会正常运行。
举个例子:
执行结果为:
执行结果为:
原理:
这条语句就是一个简单的if判断语句,关键在于它是如何实现对直接执行/被动调用的判断的
__name__是当前模块名,当模块被直接运行时模块名为’main’;
当被动调用的时候,模块名就不是’main’了。
为了便于理解,将__name__也通过代码打印出来
执行结果为
再被动调用一下
执行结果为: