很多python初学者肯定会和我一样对下面的语句存有疑惑,”__main__“是什么?“__name__”又是什么!
1 def main():
2 ......
3
4 if __name == "__main__":
5 main();
先上两个例子:
1:如下代码的执行结果是:__main__
def square(x):
return x * x
if __name__ == "__main__":
#print ("test: square(42) ==",square(42))
print(__name__)
2: 而如果在其他文件中使用improt 导入这个模块再输出module.__name__打印出来的就会是模块名。
由此可见__name__实际上就是模块的名字(在类中即类的名字),在本模块里面__name__的值便是__main__。由此可知:
if __name__ == "__main__" : 的意思就是仅仅只希望在本模块内执行if 结构内的操作(因为被其他文件引用皇后__name__的名字就变成模块名了)