zoukankan      html  css  js  c++  java
  • python中如何理解if __name__ == '__main__'

    __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。我们通过一个简单的例子来理解为什么要使用该语句:


    假设我们有一个C.py文件

    PI = 3.14
    
    def main():
        print "PI:", PI
    
    main()
    main()函数相当于最后检查一遍,运行后输出:
    PI: 3.14

    我们现在有一个area.py文件,用于计算圆面积,需要用到C.py文件中的PI变量

    from C import PI
    
    def calc_round_area(radius):
        return PI * (radius ** 2)
    
    def main():
        print "round area: ", calc_round_area(2)
    
    main()
    运行area.py,输出结果
    PI: 3.14
    round area:  12.56

    我们发现C中的main函数也被运行了,但是实际上我们只希望得到圆面积的结果,于是更改C.py文件

    PI = 3.14
    
    def main():
        print "PI:", PI
    
    if __name__ == "__main__":
        main()

    然后运行area.py,输出如下:

    round area:  12.56

    这才是我们要的结果。


  • 相关阅读:
    Tornado 和 Gin 框架性能实测
    测试基础
    计算机基础
    跨域和CORS
    Django之Form和ModelForm组件
    Django之锁和事务,中间件
    Django之Ajax
    Django基础之ORM多表操作
    Django基础之cookie和session
    Django基础之ORM单表操作
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411645.html
Copyright © 2011-2022 走看看