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

     if __name__ == '__main__'(四个下划线,每个下划线都是由两个下划线组成)

     首先由几行代码来说明:

     新建一个pi.py的代码

    PI=3.14
    def main():
    	print("PI:",PI)
    main()

        另外新建一个area.py

    from pi import PI  #从pi模块中引入PI函数
    
    def calc_round_area(radius):
    	return PI*(radius ** 2)
    
    def main():
    print("round area:",calc_round_area(2))
    main()                                                                                                                                          
    

      运行结果如下

    发现一个问题执行area.py程序时,同时也执行了pi.py中的main()函数,这显然不是我们想要的结果,如果添加if __name__ ==' __main__'代码,执行结果如下:

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

    执行area.py,只执行area.py中的main()函数,这才是我们想要的结果。

    if __name__ == '__main__'其实代表Python程序的模拟入口,由于不同模块之间相互引用,不同模块可能都有这样的定义,但是程序入口只有一个。到底哪个程序入口被选中,取决于__name__的取值。其实这句代码作用就是模块直接运行时,代码块执行,模块被导入时,代码块不执行。

    这行代码实质是:编写私有化部分,这行代以上内容可以被其他调用,这行代码以下部分只有自己看见,当被调用时别人无法看见更不能调用执行。

    引用资料:https://blog.konghy.cn/2017/04/24/python-entry-program/

  • 相关阅读:
    拦截器
    Mysql修改字段类型,修改字段名
    1.Spring对JDBC整合支持
    由system.currentTimeMillis() 获得当前的时间
    spring 对jdbc的简化
    spring对JDBC的整合支持
    java 运行时异常与非运行时异常理解
    MySQL5.7 的新特点
    基于 SSL 的 Nginx 反向代理
    如何使用 lsyncd 实时同步并执行 shell 命令
  • 原文地址:https://www.cnblogs.com/mernva/p/13798769.html
Copyright © 2011-2022 走看看