zoukankan      html  css  js  c++  java
  • python中为什么需要使用“if __name__ == '__main__'”语句

    首先用最简洁的语言来说明一下 if __name__ == '__main__': 的作用:防止在被其他文件导入时显示多余的程序主体部分。

    先举个例子,如果不用 if __name__ == '__main__': 会发生什么事:

    首先在yy.py中调用cs.py

    #yy.py
    import cs
    print('引用cs')
    cs.cs()
    print('程序结束!')
    cs.py文件如下

    #cs.py
    def cs():
    print('一打开cs!')

    print('cs主函数!')
    运行结果会是:

    cs主函数!
    引用cs
    一打开cs!
    程序结束!


    分析:也就是说,如果你的目的只是调用cs.py中的cs()函数,那么你在导入的时候就不要使用import cs

    因为一旦你使用了import cs 

    那么在运行至这一句导入代码时会自动运行一次cs.py,cs.py中的函数被封装不会被直接运行,但是cs.py中有没被封装的语句:

    print('cs主函数!')
    因此,这一句就会被多余地运行,哪怕你完全不需要这一句,你的目的只是调用cs.py中的cs()函数

    就算是使用 

    from cs import cs
    运行结果还是一样。

    那么怎么才能避免运行不需要的代码段呢?那就把不需要的代码段也当成函数运行,但是这个函数有点特殊,他要区分是自身运行还是被调用导入而运行,如果是自身运行那么就把那些代码段显示出来,如果被调用就屏蔽掉。

    于是 if __name__ == '__main__': 便应运而生

    我们修改一下代码

    只修改一下cs.py的代码:

    def cs():
    print('已打开cs!')

    if __name__ == '__main__':
    print('cs主函数!')
    之后运行yy.py

    结果如下:

    引用cs
    已打开cs!
    程序结束!


     

    到这一步,大家应该知道  if __name__ == '__main__': 是干什么用的了吧!

     
    ---------------------
    作者:南宫第一
    来源:CSDN
    原文:https://blog.csdn.net/qq_27017791/article/details/80212016
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    jquery 停止animate动画,并且回复最初状态
    php mysql实体字符
    ECSHOP MYSQL 公用类库中的autoExecute方法
    ecshop 订单编号 get_order_sn
    ecshop 调用收货地址
    init.php 建立自己的前端共享文件
    php 生成随机字符串 abcdeft....789
    ecshop 订单-》订单状态 2
    ecshop后台,listtable.js使用
    ecshop Admin后台商品列表处(上架、下架、精品...取消精品)增加操作
  • 原文地址:https://www.cnblogs.com/ExMan/p/10143769.html
Copyright © 2011-2022 走看看