Python中,每个模块有个__name__属性,当模块是在自己文件下执行的,那么它的__name__属性是__main__,而当它被引入到别的模块中,那么在别的模块下(import模块名 可以引入一个模块),他的__name__值是他的文件名,这样的设定其实不好理解其用处.
很多时候,我们在一个模块写了一段优美的程序,并且下面也用到了这一段优美的程序,然而,优美的程序在个个模块都是可以用的,但是我们又不想引入模块后,执行引入模块的程序,例子如下:
#conding:urf-8
#PpythonTest.py
def add(a,b):
return a+b
print(add(2,3))
在这个模块,我们写了个方法,而且欢快的执行了它
#new.py
Improt PythonTest
print(PythonTest.add(1,2))
然而在这个模块我们好想用这个方法,于是我们发现引入后,原来模块的程序也执行了,所以是如下执行结果
5
3
所以,如果像这样写入
#coding:utf-8
#PythonTest.py
def add(a,b):
return a+b
if __name__=='__main__'
print(add(2,3))
就可以不影响到那个模块的程序,所以加这个属性判断是个不错的习惯。