#_*_ coding:utf-8 _*_
def square(x):
return x * x
def square(x):
return x * x
print "test: square (42) == ",square(15);
看上面的例子,没有使用 __name__=='__main__'
如果引用这个函数会怎样呢?
# _*_ coding:utf-8 _*_
import mymath
print mymath.square(15)
输出结果
:test: square (42) == 225
225
是不是把原来的这段代码的print "test: square (42) == ",square(15);输出结果都import过来了
如果加上__name__=='__main__'看例子
#_*_ coding:utf-8 _*_
def square(x):
return x * x
if __name__=='__main__':
print "test: square (42) == ",square(15);
在看test
# _*_ coding:utf-8 _*_
import mymath
print mymath.square(15)
的结果:225
就不会把原来的带过来了,
具体分析如下,
__name__:表示模块,类等的名字;
__main__:模块,xxx.py文件本身:
- 被直接执行时,对应的模块名就是__main__了.
- 可以在if __name__ == “__main__”:中添加你自己想要的,用于测试这个模块,演示模块用法等代码。
- 作为模块,被别的Python程序导入(import)时,模块名就是本身文件名xxx了。