zoukankan      html  css  js  c++  java
  • Python3:if __name__ == '__main__' 详解

    • 一般在风格比较好的代码中会有一行if __name__ == '__main__' :代码,这里说明一下这句代码的用处,先上两个代码test1.pytest2.py
    # test1.py
    print("test1's name :" ,__name__)
    
    if __name__ == '__main__':
            print('test1 runs as main !')
    
    # test2.py
    import test1
    
    print("test2's name :" , __name__)
    test1
    print("test2 runs as main !")
    
    • 两个文件放在同一目录下,这里我们看出test2.py会调用test1.py,直接运行test1.py,输出如下:
    out[1]:  test1's name : __main__
             test1 runs as main !
    
    • 运行test2.py,输出如下:
    out[2]: test1's name : test1
            test2's name : __main__
            test2 runs as main !
    

    test1if代码块没有执行

    • 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用执行。
    • 每一个文件都有一个内置的__name__变量,用来指示当前文件的名字,当这个文件直接被执行时,__name__值为__main__,当被调用执行(即以模块形式)时,__name__值为模块名。
    • if __name__ == '__main__' : 的作用就是控制这两种情况执行代码的过程,此代码块只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的,如上所示


    作者:ACphart
    链接:https://www.jianshu.com/p/de19cdeb9195
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    计算机网络基础:TCP运输连接管理(三次握手 + 四次挥手)
    Zookeeper集群及配置
    Maven安装及配置
    SpringMVC拦截器+Spring自定义注解实现权限验证
    Spring之AOP配置
    设置Google浏览器不缓存JS
    数据加密之AES
    SpringMVC配置多个自定义拦截器
    利用Zookeeper实现分布式锁
    数据加密之RSA
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/9527816.html
Copyright © 2011-2022 走看看