zoukankan      html  css  js  c++  java
  • 魔力Python--if __name__ == '__main__' 的理解

    if __name__ == '__main__' 的理解

      __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。

      这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

    #practice.py
    import cc
    print('引用cc')
    cc.cc()
    print('程序结束!')

    其中,cc.py为

    def cc():
        print('调用cc了')
    print('先输出哪个?')

    此时结果为:

    先输出哪个?
    引用cc
    调用cc了
    程序结束!

    然而,实际上我们可能不想输出'先输出哪个?'这句话的.

    或许这时候要尝试直接调用函数?没卵用,只是改名字罢了.

    from cc import cc
    print('引用cc')
    cc()
    print('程序结束!')

    输出的结果也是如此:

    结果:
    先输出哪个?
    引用cc
    调用cc了
    程序结束!

    此时,将cc.py修改即可

    def cc():
        print('调用cc了')
    if __name__ == '__main__':
        print('先输出哪个?')

    此时调用

    from cc import cc
    print('引用cc')
    cc()
    print('程序结束!')

    结果如下:

    引用cc
    调用cc了
    程序结束!

    所以明白if __name__ = '__main__'的作用,即在外部调用可不输出子进程的东西,在自身内部调用可正常输出,起一个判断作用.

    记住,在Windows里面,把所有子进程的所有操作都扔到

    if __name__ = '__main__'
    这句话下面. Linux和Mac不需要.



    PS:关于上面的快捷操作,输入main回车即可快速打出
    if __name__ = '__main__'

    转自:https://blog.csdn.net/wrh_csdn/article/details/80534654  

      https://blog.csdn.net/qq_27017791/article/details/80212016

  • 相关阅读:
    【HDU3681】Prison Break-状态压缩DP+BFS+二分答案
    【BashuOJ3520】警察局长-最短路树+树上背包+概率DP
    【POJ1201】Intervals-差分约束系统+单源最长路
    【BashuOJ2041】最大矩形-矩阵型DP
    【BashuOJ2041】最大矩形-矩阵型DP
    deleted
    deleted
    deleted
    deleted
    deleted
  • 原文地址:https://www.cnblogs.com/smithpath/p/10708856.html
Copyright © 2011-2022 走看看