在学习python的时候,会经常看到这样的一句话:
if __name__ == '__main__':
....
那么这句话是什么意思呢?
首先要解释一下python文件的两种使用方式:
1.直接运行:就是直接运行.py文件
2.模块导入:就是被当成模块导入到其他python文件中使用
__name__以及__main__都是python文件自带的属性,__main__代表着该python文件的名字(带.py的那种),而__name__就要分情况了:如果是直接运行的话代表的是带.py的文件的名字,否则的话就是不带.py的文件的名字。所以比较二者的目的就在于区别究竟是导入的模块还是直接运行。这是一个很好的习惯。
扩展:
如果test.py文件是当作模块导入的话,那么 if __name__ == ‘__main__’: 以下的代码不会被执行,但是以上的代码会执行,
print('python')
if __name__ == '__main__':
print('PYTHON')
如果这样的话显然会输出python,而不会输出PYTHON