写 Python 脚本时,一定要带上这个
发布时间:2021-11-02 13:45:47  所属栏目:语言  来源:互联网 
            导读:我发现有不少朋友写 Python 脚本非常随意,要么不用函数,要么函数随处定义,反正第一眼看不出要执行的第一行代码位于何处,这样的脚本可读性很差,而且容易隐藏 bug,解决这个问题很简单,当我们写 Python 脚本时,一定要加上这个:def main(): # do somet
                
                
                
            | 我发现有不少朋友写 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.,不是吗? (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 

