【发布时间】:2015-09-13 02:33:31
【问题描述】:
据我了解,以下语句用于使程序仅在程序独立运行时才运行分支。
if __name__ == '__main__':
__name__ 变量可以采用哪些其他值,它的用途是什么?
【问题讨论】:
据我了解,以下语句用于使程序仅在程序独立运行时才运行分支。
if __name__ == '__main__':
__name__ 变量可以采用哪些其他值,它的用途是什么?
【问题讨论】:
if __name__ == "__main__": ... 技巧存在于 Python 中,因此我们的
Python 文件既可以作为可重用模块,也可以作为独立程序。
当我们的脚本用作独立程序时,__name __ 是 __main__
但是当我们从其他模块运行脚本时,变量__name__ 假定其模块的名称,因此我们知道脚本正在被导入,而不是从交互式提示符调用。
例如,制作一个带有简单语句的脚本test.py:
print __name__
现在从cmd 开始:
>>>python test.py
>>>__main__ #you get this output
现在让我们假设您在其他模块中导入它(比如test2.py),它的内容是:
print "running test2"
import test
然后你会得到这个输出:
running test2
test
【讨论】:
running test2 test而不是test 2