第一是作为脚本直接执行。
第二是 import 到其它的 python 脚 本中被调用(模块重用)执行。
因此 if name == 'main': 的作用就是控制这两种情况执行代码的过程。
简单地说
if __name__ == '__main__'的意思是:
当 .py 文件被直接运行时,if __name__ == '__main__' 之下的代码块将被运行; 当 .py 文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。
#文件名为test_file.py
print("哈哈")
if __name__ == '__main__':
print("嘎嘎")
python test_file.py
输出结果:
哈哈
嘎嘎
把test_file.py作为模块导到其它目录
#文件名为my_file.py
import test_file
python my_file.py
输出结果:哈哈