企业开展网站建设,建立公司需要什么,wordpress添加分类图片尺寸,品牌设计网站学习过C语言或者Java语言的盆友应该都知道程序运行必然有主程序入口main函数#xff0c;而python却不同#xff0c;即便没有主程序入口#xff0c;程序一样可以自上而下对代码块依次运行#xff0c;然后python不少开源项目或者模块中依然存在 __name__ “__main__” 这种写…学习过C语言或者Java语言的盆友应该都知道程序运行必然有主程序入口main函数而python却不同即便没有主程序入口程序一样可以自上而下对代码块依次运行然后python不少开源项目或者模块中依然存在 __name__ “__main__” 这种写法具体是上面意思呢一.语义解释1.__name____name__ 是python的内置属性是系统全局变量每一个py文件都有一个属于自己的__name__如果py文件作为模块被导入(import)那么__name__就是该py文件的文件名(也称 模块名)如果py文件直接运行时(CtrlShiftF10)那么__name__默认等于字符串”__main__”;举个简单的例子假如你名字是张三在朋友眼中你是张三(__name__ 张三)在你自己眼中你是你自己(__name__ __main__)2.”__main__”“_ _main_ _” 实际上就是一个字符串用来鉴别程序入口没有太多花里胡哨的东西.3.__name__ “__main__”当.py文件被直接运行 (CtrlShiftF10)时 if __name__ “__main__” 之下的代码块将被运行该语句就相当与python的main主函数入口示例代码如下a.新建一个 my_name.py 文件作为模块文件# !usr/bin/env python# -*- coding:utf-8 _*-file name: my_name.pyCreated on: 2020-9-03Author: CharlieThis program is just a test; you can run it.Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累import osimport subprocessimport sys# 定义一个函数并打印 __name__def prit_name():print (my_name.py __name__:, __name__)if __name__ __main__:# 独立执行prit_name()print (run alonely!)else:# 被导入print (not run alonely!)b.新建一个 python_main.py 文件作为启动文件 (CtrlShiftF10)# !usr/bin/env python# -*- coding:utf-8 _*-file name: python_main.pyCopyright (C) 2020 GRGBanking CorporationCreated on: 2020-9-03Author: CharlieThis program is just a test; you can run it.Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累import osimport subprocessimport sys# 导入 my_name 模块import my_namephonebook {alice:123,tom:456}alice_num phonebook[alice]num 36;# 定义一个函数并打印 __name__def prit_name():my_name.prit_name()print(python_main.py __name__:, __name__)print (alice_num %d,alice_num)print(%s % alice_num)print(%s % alice_num)print(%d % 56)print(%d % num)if __name__ __main__:prit_name()输出结果pchuiubuntu:~/work/RK3399/charlie$ python python_main.pynot run alonely!(my_name.py __name__:, my_name)(python_main.py __name__:, __main__)(alice_num %d, 123)alice_num123569由此可见作为启动文件 python_main.py 该文件的内置属性 __name__ 等于 “__main__”而my_name.py 作为导入模块该模块的 __name__ 等于文件名(也称模块名字)所以my_name.py 中的 表达式 if __name__ “__main__” 并不成立当直接将my_name.py作为启动文件时 (CtrlShiftF10)输出my_name.py __name__: __main__如果py文件作为模块被导入(import)那么__name__就是该py文件的文件名(也称 模块名)如果py文件直接运行时(CtrlShiftF10)那么__name__默认等于字符串”__main__”;二.作用1.__name__ “__main__” 作为启动py文件的main函数入口2.一个项目中必然会包含多个模块文件每个模块文件在自己写完代码之后会做一些简单的测试用于检测bug 或者 对自己的函数调用写一个简单的示例而恰到好处的是__name__ “__main__” 既不会影响你的测试代码也不会影响别人调用你的接口函数。if __name__ __main__:# 独立执行prit_name()print (run alonely!)else:# 被导入print (not run alonely!)