• Python中 if __name__ == "__main__" 的理解


    1、if __name__ == "__main__"

      我们在python代码中经常可以看见者行代码,但是当我们进行练习的时候发现,这行删除和添加这行代码貌似对程序的运行并无什么影响,那为什么要加这行代码?

    2、主函数

      主函数这个概念可以理解为程序的入口,在代码中 if  __name__ == "__main__" 就是主函数,代表程序的入口;

      例1:

      

    def demo1(x,y):
        return x+y
    def demo2(x,y):
        return x-y
    def demo3(x,y):
        return x*y
    def demo4(x,y):
        return x/y

      这是由多个函数组成的代码,当我们需要调用其中的一个时,例如:

    demo1()

      我们运行程序,程序就会从上而下的依次运行,运行至最下面调用函数demo1()时,则会返回查找demo1()函数并执行,这个操作就会非常的繁琐,这里就用到了主函数

      例2:

    def demo1(x,y):
        return x+y
    def demo2(x,y):
        return x-y
    def demo3(x,y):
        return x*y
    def demo4(x,y):
        return x/y
    if __name__ == "__main__":
        demo1()

      程序就会从主函数开始运行,调用demo1(),然后返回函数查找demo1()函数

    3、模块导入

      在写一个程序时,导入模块是非常常见的现象,但是我们有的代码不想被导入调用执行,那么也可以用到 if __name__ == "__main__"

      

    #模块A
    demo = 'A'
    print('模块A')
    print(demo)
    模块B
    import 模块A
    test = 'B'
    print('模块B')
    print(test)

      运行模块B的结果为:

      模块A

      ‘A’

      模块B

      ‘B’

      当我们使用 if __name__ == "__main__"对模块A进行修改时:

    #模块A
    demo = 'A'
    print('模块A')
    print(demo)
    if __name__ == "__main":
        print(demo)

      再次执行B返回结果为:

      模块A

      模块B

      ‘B’

      因为demo = 'A'处于 if __name__ == "__main__" 的内部,所以只有运行模块A时才会执行

    4、__name__ 与 __main__

      __name__是python的内置属性,通过if __name__ == "__main__",将内置__name__属性置换为__main__

      以上是博主学习过程中的总结,如果哪里有不对可能是我没有理解到位,希望各位大神留言!

  • 相关阅读:
    Cannot change version of project facet Dynamic web module to 3.0
    mybatis
    mybatis逆向工程工具
    mybatis和jdbc分析
    分析mybatis和jdbc的作用,已经原理
    JDBC使用步骤
    MyBatis架构设计及源代码分析系列(一):MyBatis架构
    MyBatis的foreach语句详解
    vue.js使用elemnetUi
    vue.js路由嵌套传参
  • 原文地址:https://www.cnblogs.com/twlr/p/12291606.html
Copyright © 2020-2023  润新知