zoukankan      html  css  js  c++  java
  • if __name__ == '__main__' 如何正确理解?

    作者:知乎用户
    链接:https://www.zhihu.com/question/49136398/answer/114437881
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    # file one.py
    def func():
        print("func() in one.py")
    
    print("top-level in one.py")
    
    if __name__ == "__main__":
        print("one.py is being run directly")
    else:
        print("one.py is being imported into another module")
    
    # file two.py
    import one
    
    print("top-level in two.py")
    one.func()
    
    if __name__ == "__main__":
        print("two.py is being run directly")
    else:
        print("two.py is being imported into another module")
    

    如果你执行one.py文件,

    python one.py
    

    会输出:

    top-level in one.py
    one.py is being run directly
    

    如果你执行two.py文件,

    python two.py
    

    会输出:

    top-level in one.py
    one.py is being imported into another module
    top-level in two.py
    func() in one.py
    two.py is being run directly
    

    Thus, when module one gets loaded, its __name__ equals "one" instead of __main__.

    我就不翻译了首先我翻译的很丑其次我觉得英文更好理解。。。

    它就是上面这么用的。

    然后我觉得它的功能就是,让if __name__ == '__main__'它后面的代码不执行。这样代码运行会更简洁更流畅???因为只需要用想用的那部分就行了。。。

  • 相关阅读:
    我的20130220日 在北京 do{ Web Develop } while(!die)
    关于NVelocity模板引擎初学总结
    C# 23种设计模式汇总
    基于模型的设备故障检测
    图像去噪之光斑去除
    虹膜识别
    封闭曲线拟合
    基于故障树的系统可靠性分析
    图像识别之棋子识别
    时间序列的模式距离
  • 原文地址:https://www.cnblogs.com/lelexiong/p/8979877.html
Copyright © 2011-2022 走看看