Python学习之路(16)—— if __name__ == '__main__'
当我们打开一个.py文件时,经常会在代码的末尾处看到这样一个语句:
>>> if __name__ == '__main__':
那么这句话是什么意思呢?
我们知道,一个.py文件就是一个模块,所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于我们如何使用这个模块。
1)如果我们import导入一个模块,那么这个模块的__name__值通常是模块的文件名。
2)如果我们像一个标准程序那样直接运行模块,在这种情况下,__name__的值就是一个缺省的“__main__”
所以“if __name__ == '__main__': ”这样一个语句,通常是用来对模块进行测试的,比如:
#TemperatureConvetion.py
def c2f(cel):
return cel * 1.8 + 32
def f2c(fah):
return (fah - 32) / 1.8
def test():
print('0 摄氏度 = %.2f 华氏度' % c2f(0))
print('0 华氏度 = %.2f 摄氏度' % f2c(0))
if __name__ == '__main__':
test()
直接运行的话

而导入该模块的话
>>> import TemperatureConvertion >>> __name__ '__main__' >>> >>> TemperatureConvertion.__name__ 'TemperatureConvertion' >>> TemperatureConvertion.f2c(10) -12.222222222222221 >>> TemperatureConvertion.c2f(10) 50.0 >>>
小结:
1)如果直接执行该.py文件,那么__name__ == '__main__'为True,test()执行
2)如果将该.py文件作为模块导入,那么__name__ == '__main__'为False,test()不执行
浙公网安备 33010602011771号