【发布时间】: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__ 从哪里得到?
感谢您的帮助
【问题讨论】:
__author__="Sergio.Tapia"
__date__ ="$18-10-2010 12:03:29 PM$"
if __name__ == "__main__":
print("Hello")
print(__author__)
__main__ 和 __name__ 从哪里得到?
感谢您的帮助
【问题讨论】:
__name__ 变量由运行时提供。它是当前模块的名称,即导入它的名称。 "__main__" 是一个字符串。它并不特别,它只是一个字符串。它也恰好是执行时主脚本的名称。
if __name__ == "__main__": 机制是 .py 文件直接执行时的常用方法,但在作为模块导入时则不然。
【讨论】:
Python 模块也可以作为独立脚本运行。因此,if __name__ == "__main__": 块中的代码只有在模块作为“主”文件执行时才会运行。
示例:
#foo.py
def msg():
print("bar")
if __name__ == "__main__":
msg()
运行这个模块会输出
$ python foo.py
bar
在哪里导入它不会输出任何东西。
>>> import foo
>>> foo.msg()
bar
【讨论】: