• 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__'它后面的代码不执行。这样代码运行会更简洁更流畅???因为只需要用想用的那部分就行了。。。

  • 相关阅读:
    MyBatis-Generator 最佳实践
    Http请求工具
    多线程编程-之并发编程:阻塞队列
    如数据不存在就插入,存在就更新
    MySQL触发器
    13.multi_match实现dis_max+tie_breaker
    12. tie_breaker的使用原因和使用方法
    11.best fields策略(dis_max参数设置)
    10.多shard场景下relevence score可能不准确
    9.boost权重控制
  • 原文地址:https://www.cnblogs.com/lelexiong/p/8979877.html
Copyright © 2020-2023  润新知