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

  • 相关阅读:
    java学习(一)
    linux下java环境配置
    移动平台开发团队展示
    VS的安装项目:解决安装后注册表中程序信息InstallLocation为空的问题
    .NET将数据导出到Excel表(如何指定默认文件名)
    Linux Shell编程入门
    http与WebSocket
    git push时报错filename too long的解决
    js中传统事件绑定模拟现代事件处理
    对三次握手的理解
  • 原文地址:https://www.cnblogs.com/smithpath/p/10708856.html
Copyright © 2011-2022 走看看