在学习Python的过程中经常会看到“if __name__ == '__main__':”这行代码,那么这行代码的作用究竟是什么呢?
“if __name__ == '__main__':”这行代码的主要作用是调试某个模块的正确性,将要调试的代码以缩进的形式写在“if __name__ == '__main__':”下面,这样当其他模块使用这个模块里的变量、方法或类的时候,就不会去执行“if __name__ == '__main__':”下面的代码了。
这是因为__name__表示当前执行的模块名,'__main__'表示顶层代码执行的作用域名称,当通过标准输入、脚本文件或是交互式命令读入的时候__name__就等于'__main__',模块可以通过检查其__name__属性值来得知代码是否在main作用域中执行。
例如,当前有test_one模块和test_two模块,test_one模块中定义了say_hello()函数;test_two模块中定义了say_hi()函数。
test_one模块代码如下:
defsay_hello():print('hello')say_hello()
test_two模块代码如下:
defsay_hi():print('How are you?')say_hi()
</