在python中经常可以看到一个py文件最后是if __name__ == '__main__':
现在我们来说一下当一个py文件被当做模块引用时和她自己运行时的区别
现在有一个py文件是test_main.py文件,文件内容如下:
print('step_01')
def main():
print('step_02')
print(__name__)
if __name__ == '__main__':
main()
print('step_03')
结果如下:
现在有一个文件main_test.py文件,文件内容如下:
import test_main
print('*****************')
test_main.main()
结果如下:
通过自己运行和被当做模块运行的结果可知:
当一个py文件被运行时,他的__name__是__main__,从而__name__ == '__main__':下面的函数可以被调用
当一个py文件被当做模块导入时,他的__name__是自己的py文件名,从而__name__ == '__main__':下面的函数不可以被调用