写 Python 脚 本时,一定要带上这个
发布时间:2022-12-03 12:42:57 所属栏目:语言 来源:
导读: 我发现有不少朋友写 Python 脚本非常随意,要么不用函数,要么函数随处定义,反正第一眼看不出要执行的第一行代码位于何处,这样的脚本可读性很差,而且容易隐藏 bug,解决这个问题很简单,当我们写 Python 脚本
|
我发现有不少朋友写 Python 脚本非常随意,要么不用函数,要么函数随处定义,反正第一眼看不出要执行的第一行代码位于何处,这样的脚本可读性很差,而且容易隐藏 bug,解决这个问题很简单,当我们写 Python 脚本时,一定要加上这个: def main(): # do something print("do something.") if __name__ == "__main__": main() 你可能要反对了:我怎么爽就怎么写,凭什么听你的,多写个 if __name__...? 别急,让我说三个原因。 第一,它让 Python 文件的作用更加明确 首先需要明白 __name__ 的作用,当脚本直接被 Python 解释器执行时,其值就是 "__main__",当其被其他 Python 程序 import 的时候,其值就是对应的 Python 脚本文件名,可以在 Python 解释器验证下,假定有个 some_script.py 其内容如下: print("some_script.py") print(__name__) 在 Python 解释器导入一下: ❯ vim some_script.py ❯ python Python 3.8.5 (v3.8.5:580fbb018f, Jul 20 2020, 12:11:27) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import some_script some_script.py some_script >>> 可以看到,__name__ 的值就是 Python 脚本的文件名 some_script。 也就是说 if __name__ == "__main__": 后面的代码在 import 的时候是不会运行的。 明白了这一点,if __name__ == "__main__": 就可以做为区分脚本和库的一个标志,当我们看到 if __name__ == "__main__": 时,就认为这一个可以直接运行的脚本,当没有看到这行代码时,就认为这是一个库,可以被其他程序引用,Explicit is better than implicit.,不是吗? (编辑:云计算网_汕头站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330478号