python程序中if __name__ == '__main__':的作用。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python程序中if __name__ == '__main__':的作用。相关的知识,希望对你有一定的参考价值。
首先先用代码来看__name__的作用
1 ModuOne.py被调用程序 2 3 def MethodOne (varone): 4 print(__name__) 5 print(varone) 6 7 MethodOne("程序测试") 8 9 C:\python ModuOne.py #可以看到直接运行ModuOne.py时__name__被打印成“__main__” 10 __main__ 11 程序测试 #函数测试被执行 12 13 14 zuma.py主程序 15 16 from ModuOne import MethodOne #调用模块中的方法 17 print(__name__) 18 MethodOne("主程序") 19 20 C:\python zuma.py #执行主程序时因为from导入时会现在执行一遍ModuOne.py程序 21 ModuOne #但这里ModuOne程序的__name__被打印成了被调用程序名 22 程序测试 #而且ModuOne中的测试也被调用出来了 23 __main__ 24 ModuOne 25 主程序
从上面例子中可以看出在执行本程序中__name__会等于“main”而被调用时__name__会等于被调用的程序名。
接下来在看一下if __name__ == ‘__main__‘:使用例子
1 ModuOne.py被调用程序 2 3 def MethodOne (varone): 4 print("ModuOne in name:", __name__) 5 print(varone) 6 if __name__ == ‘__main__‘: 7 MethodOne("程序测试") 8 print("测试打印__name__:", __name__) 9 10 C:\python ModuOne.py 11 ModuOne in name: __main__ #执行过程中if语句判断name等于‘main’所以执行MethodOne函数 12 程序测试 #print打印也被执行了 13 测试打印__name__: __main__ 14 15 16 zuma主程序 17 18 from ModuOne import MethodOne 19 MethodOne("主程序测试") 20 21 C:\python zuma.py #ModuOne程序加入if语,在执行主程序 22 ModuOne in name: ModuOne #只执行了ModuOne程序中的MethodOne函数,而if语句下面的的则没执行 23 主程序测试
通过上面例子可以看出给程序增加if __name__ == ‘__main__‘:语句后程序测试调用更加灵活。
以上是关于python程序中if __name__ == '__main__':的作用。的主要内容,如果未能解决你的问题,请参考以下文章
python编程中的if __name__ == 'main与windows中使用多进程
Python中“if __name__==’__main__:”理解与总结
Python中if __name__ == "__main__": 的作用
Python中 if __name__ == "__main__" 的理解