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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    第二次作业循环语句
    c语言01次作业分支,顺序结构
    PAT 1027. Colors in Mars
    PAT 1026 Table Tennis
    PAT 1035 Password
    PAT 1038. Recover the Smallest Number
    PAT 1028 List Sorting (25)
    PAT 1041 Be Unique (20)
    PAT 1025 PAT Ranking
    1037. Magic Coupon
  • 原文地址:https://www.cnblogs.com/ExMan/p/10143769.html
Copyright © 2011-2022 走看看