首页 > 代码库 > python程序中if __name__ == '__main__':的作用。
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__':的作用。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。