虽然一直知道这一段的作用,但是一直对这一句还是比较模糊,收集资料详细理解之后与大家分享。
这段代码的功能,首先得知道__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