Python中“if __name__ ==‘__main__’:”的作用

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__”。

总结

如果在编程序时考虑到以后该模块会被引用时,将不需要被别的模块调用的代码置于

**“if __name__ ==‘__main__’:”**之下。

猜你喜欢

转载自blog.csdn.net/weixin_49796643/article/details/127019187