为什么会这样?为什么会有这个语句:<code>if name == 'main'</code>?
为什么会这样?为什么会有这个语句:<code>if name == 'main'</code>?
这个问题已经有了答案:
重复:
考虑以下代码:
if __name__ == '__main__': import pdb pdb.run("interact() ")
以下一行代码的意思是什么?
if(__name__=='__main__')
我昏倒了。
admin 更改状态以发布 2023年5月20日
__name__
是在执行Python程序时自动设置的变量。如果你从另一个程序中import
你的模块,__name__
会被设置为模块的名称。如果你直接运行程序,__name__
会被设置为__main__
。
因此,如果你想让一些事情仅在从命令行运行程序时发生,而在导入时不发生(例如库的单元测试),你可以使用
if __name__ == "__main__": # will run only if module directly run print "I am being run directly" else: # will run only if module imported print "I am being imported"
技巧。这是Python中常见的惯用法。