虽然一直知道这一段的作用,但是一直对这一句还是比较模糊,收集资料详细理解之后与大家分享。
这段代码的功能,首先得知道__name__是python的一个内置变量,另外一个python的文件有两种使用的方法,
第一是自身直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行
1、当脚本作为一个脚本模块单独执行时,__name__变量的值就是字符串__main__ 可以通过如下命令在脚本中输出验证
print(__name__) #直接运行脚本,将输出其值为字符串:__main__
2、而当脚本是作为模块导入到其他程序文件中,被导入的脚本中的__name__就是脚本的名称(去除.py后缀之后的),如下:
#第一步创建 aa.py,内容如下: def author_info(): print("My blog's url is https://www.cnblogs.com/5201351") if __name__=='__main__': print("My name is aa.py") else: print("I was executed by import and the value of __name__ is "+__name__) #第二步,创建bb.py,写入import aa,内容如下: import aa
测试方法,运行aa.py脚本,会输出 My name is aa.py
运行bb.py时(通过import导入aa.py),会输出 I was executed by import and the value of __name__ is aa
另:在此额外记录两点:
1、如要让其他地方能import自己,文件名建议为xxx.py,导入时写xxx即可,笔者测试,文件名取特殊的xxx.py.py不能被导入
2、import的模块,只会执行那个脚本一次,如在文件中,两次import aa,只会执行aa.py脚本一次!
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13749140.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!