【问题标题】:What does this Python code mean?这个 Python 代码是什么意思?
【发布时间】:2011-04-27 00:48:14
【问题描述】:
__author__="Sergio.Tapia"
__date__ ="$18-10-2010 12:03:29 PM$"

if __name__ == "__main__":
    print("Hello")
    print(__author__)

__main__ 和 __name__ 从哪里得到?

感谢您的帮助

【问题讨论】:

    标签: python python-datamodel


    【解决方案1】:

    __name__ 变量由运行时提供。它是当前模块的名称,即导入它的名称。 "__main__" 是一个字符串。它并不特别,它只是一个字符串。它也恰好是执行时主脚本的名称。

    if __name__ == "__main__": 机制是 .py 文件直接执行时的常用方法,但在作为模块导入时则不然。

    【讨论】:

    【解决方案2】:

    Python 模块也可以作为独立脚本运行。因此,if __name__ == "__main__": 块中的代码只有在模块作为“主”文件执行时才会运行。

    示例:

    #foo.py
    def msg():
        print("bar")
    
    if __name__ == "__main__":
        msg()
    

    运行这个模块会输出

    $ python foo.py
    bar
    

    在哪里导入它不会输出任何东西。

    >>> import foo
    >>> foo.msg()
    bar
    

    Reference

    【讨论】:

      猜你喜欢
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多