• Python学习系列之以主程序形式运行(三十)


    以主程序形式运行

    在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__

     格式:

    if __name__ = '__main__':

      pass

     举例:

    有一个类maincalcdemo,内容如下:

    def add(a,b):
        return a+b
    
    print(add(10,20))

    在另一个类maindemo中导入maincalcdemo模块,然后输出add方法的执行结果,代码如下:

    import maincalcdemo
    print(maincalcdemo.add(100,200))
    

      执行结果:

      说明:maindemo类中只调用了maincalcdemo模块的add方法,但是有2个执行结果,分别是30和300,此处应该输出的是300,不应该输出30.那为什么输出结果中有30呢?  原来在maincalcdemo模块中有一个print方法调用了add方法,print(add(10,20))语句时非主程序形式运行的,所以maindemo类会输出30,如何避免输出30呢?只需要将maincalcdemo模块中print方法放入主程序,以主程序的方式运行即可,代码如下:

    def add(a,b):
        return a+b
    
    
    if __name__ == '__main__':
        print(add(10,20))   #只有当点击运行maincalcdemo时,才会执行运算
    

      修改后再执行maindemo,则不会输出30了

  • 相关阅读:
    [Windows Powershell]-学习笔记(1)
    MyBatis For .NET学习-问题总结
    Zynq学习笔记(1)
    规范的位操作方法
    浮点数转换成字符串函数
    测试卡尔曼滤波器(Kalman Filter)
    关于按键扫描程序的终极讨论
    关于STM8的用户数据空间读写问题
    IPv4分析
    关于STM8空间不足的解决方法
  • 原文地址:https://www.cnblogs.com/wx170119/p/14578638.html
Copyright © 2020-2023  润新知