zoukankan      html  css  js  c++  java
  • 关于对python脚本中的__name__ == '__main__'的理解

    虽然一直知道这一段的作用,但是一直对这一句还是比较模糊,收集资料详细理解之后与大家分享。

    这段代码的功能,首先得知道__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

  • 相关阅读:
    golang mod 导包
    grpc client 报错: code = Unimplemented desc = method *** not implemented
    golang读取email
    docker 使用
    在word中批量更改Mathtype公式的格式
    word中插入myth type公式行距变大的问题
    word中编辑论文公式对齐问题
    向别人学习
    机器学习 博文汇总
    matlab中如何用rand产生相同的随机数
  • 原文地址:https://www.cnblogs.com/5201351/p/13749140.html
Copyright © 2011-2022 走看看