zoukankan      html  css  js  c++  java
  • if __name__ == '__main__'

    1、不使用if __name__ == '__main__'代码。

    1)第一段代码:直接新建两个python文件;

    (1)新建const.py

    PI = 3.14
    
    def const():
        print('const.py file of PI:', PI)
    
    const()

    结果:

    
    

    const.py file of PI: 3.14

     

    (2)新建area.py

    from const import PI
    
    def calc_route_area(radius):
        return PI * (radius ** 2)
    
    def area():
        print('area.py of routd area:', calc_route_area(2))
    
    area()

    结果:
    const.py file of PI: 3.14
    area.py of routd area: 12.56

    area.py主动调用const.py的结果:

    执行代码结果:
    const.py file of PI: 3.14
    area.py of routd area: 12.56

    第一段代码area.py调用const.py内的PI变量,执行两次;
      第一次,是直接运行了const.py内的main()函数,
      第二次,是area.py调用const.py内的变量进行运算。

    2、第二段代码:使用if __name__ == '__main__'代码。

    
    

    1)直接新建两个python文件;

    from const import PI
    
    def calc_route_area(radius):
        return PI * (radius ** 2)
    
    def area():
        print('area.py of routd area:', calc_route_area(2))
    
    if __name__ == 'main':
        area()

    area.py主动调用const.py的结果:

    执行代码结果:
    const.py file of PI: 3.14
    area.py of routd area: 12.56
    第二段代码area.py调用const.py内的PI变量,仅执行一次,着色的红色区域未再出现。

    from const import PI
    
    def calc_route_area(radius):
        return PI * (radius ** 2)
    
    def area():
        print('area.py of routd area:', calc_route_area(2))
    
    area()
    print(__name__)
    
    print('-----------------分隔符---------------')
    
    if __name__ == '__main__':
        area()
        print(__name__)
    结果:
    const.py file of PI: 3.14
    const
    area.py of routd area: 12.56
    __main__
    --------分隔符--------
    area.py of routd area: 12.56
    __main__
    总结:
    1、const.py作为__main__主函数时,才打印结果信息。在const.py代码末尾追加print(__name__)查看
    2、const.py如果仅仅被其他函数调用时,自己不输出任何结果信息。在area.py代码加入末尾追加print(__name__),会看到const文件形式存在,不是__main__的文件形式
    3、主要的作用时作为测试使用,area.py运行时,不想让const.py的代码运行且显示任何的结果。


    参考文档:https://www.cnblogs.com/yaohong/p/8660209.html


     
     
  • 相关阅读:
    机器学习第一练(铁达尼号罹难者预测)
    Codewars题记 :Find the missing letter
    Codewars题记 :Take a Ten Minute Walk
    Codewars题记 :Some numbers have funny properties.
    Codewars题记 :Count the number of Duplicates
    Java图片合成工具类
    解决Libreoffice在Linux服务器上,重启Tomcat但是Libreoffice8100端口还一直占用的问题
    Java对Linux进程关闭
    Java多张图片合成PDF
    java下载文件到本地磁盘
  • 原文地址:https://www.cnblogs.com/slyy/p/12188049.html
Copyright © 2011-2022 走看看