Python中的if __name__ == '__main__'

     简单来讲,若是是模块自己做为脚本运行时,这个if以后的语句能够执行,若是该模块A被import到别的模块B中,运行模块B的时候A模块中的if __name__ == '__main__' 的语句将不会执行。html

     咱们能够从具体的例子来看:post

 

#my_math.py
def
product(x, y): if x == 7 and y ==9: return 'An insidious bug has surfaced!' return x * y print(__name__)

直接运行my_math.py,将输出:spa

__main__

而后咱们有另外一个模块learning.py将my_math import进去:code

#learning.py
import my_math

print(__name__)
print(my_math.__name__)

而后运行learning.py,将会输出:htm

__main__
my_math

 

总结:当模块做为脚本直接运行时,__name__的值是__main__, 可是若是被import到别的模块中运行时,__name__的值是它本身的名字,如本例为my_mathblog

 

参考文献:io

http://www.dengfeilong.com/post/60.htmlclass

相关文章
相关标签/搜索