Python中"if __name__ ==‘__main__’:"的作用:
主要用途
此语句主要应用于模块之间调用,主要起避免被调用模块中部分代码在调用模块中重复编译的作用。
#模块A(A.py)
print('hello world!,我是模块A')
#需要被其他模块调用的代码:
...
...
if __name__=="__main__":
#不需要在别的模块中编译的代码:
print('我主要是不想被编译的部分代码')
输出结果:
hello world!,我是模块A
我主要是不想被编译的部分代码
#模块B(B.py)
import A
print("hello world,我是模块B")
输出结果:
hello world!,我是模块A
hello world,我是模块B
从以上结果中可以看出,在模块B调用模块A后,模块A中“if __name__ ==‘__main__’:”下面的代码被忽略,这是因为不同模块中的 “__name__”值不同。
当在模块A中编译时, “__name__”的值为“__main__”;
而在模块B中 “__name__”的值也为“__main__”,
但是其对于模块A的“__name__”的值为“A”而非“__main__”。