一个python的文件有两种使用的方法:
第一是直接作为脚本执行
第二是import到其他的python脚本中被调用(模块重用)。
__name__是模块的内置属性,当模块作为脚本直接执行时,它的__name__ ==__main__;当它被导入到其他模块中使用时,它的__name__就是其自身的文件名,并且它if __name__ =='__main__'之后的代码不会被执行,也即if __name__ =='__main__'后面的代码只在自身文件独立运行时才执行,作为导入模块后就不再执行(因为此时它的名字不再是__main__,而是文件名了)
test.py
print(__name__)
if __name__ == '__main__':
print("my name is:%s" % __name__)
输出:
__main__
my name is:__main__
import.py
import test
print(test.__name__)
if __name__ == '__main__':
print("my name:%s" % __name__)
输出:
test
test
my name:__main__