if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;
当.py文件以模块形式被导入时,if _name_ == '_main_'之下的代码块不被运行。
Example:
1、建立一个const.py文件:
PI = 3.14
def main():
print("PI:", PI)
main()
运行结果:PI: 3.14
2、现在根据以上数据,写一个用于计算面积的area.py文件,需要用到const.py文件中的PI变量。
from const import PI
def calc_round_area(radius):
return PI * (radius ** 2)
def main():
print("round area: ", calc_round_area(2))
main()
运行结果:
PI: 3.14
round area: 12.56
以上结果,我们发现,const.py提供的main函数也运行了,实际上我们并不想要它运行。这时我们采用
if_name_ == '_main_'
3、 修改const.py,添加if name == "_main_"
PI = 3.14
def main():
print("PI:", PI)
if __name__ == "__main__":
main()
运行const.py,输出如下:
PI: 3.14
运行area.py,输出如下:
round area: 12.56
总结:
python中调入模块的时候,if_name_ == '_main_'则是指禁止调用该模块内函数。
参考链接地址:https://blog.csdn.net/yjk13703623757/article/details/77918633/