python中 if __name__ == "__main__

2019-03-29  本文已影响0人  1直领悟不够

python在导入模块时,模块中的代码可能被执行。例如:

module1.py
#模块1中的代码:
print("hello!")
print("hello!")

>>hello!
>>hello!

在名为module2.py的另一个模块中导入module1.py时,其中的代码会被执行:

import module1

>>hello!
>>hello!

这个行为有时候会导致不便。比如你的模块中可能有测试代码,不希望在导入时执行。那么将模块中所有的代码放置在if name == "main"语句中,即可解决该问题。例如,可以将例子中module1.py的代码改成如下所示:

module1.py
#模块1中的代码:
if __name__ == "__main__"
  print("hello!")
  print("hello!")

>>hello!
>>hello!

运行改程序时,输出总是不变的。但是在module2.py中导入该模块时,module1.py中的代码不会运行,不会打印hello!示例如下:

#模块2中的代码
import module1
上一篇下一篇

猜你喜欢

热点阅读