如何简单地理解Python中的if __name__ == '__main__'
if __name__ == '__main__'的意思是:
当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;
当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。
1 一个.py文件被其他.py文件引用
假设我们有一个const.py文件,内容如下:
1 #!/usr/bin/python3.6
2 # -*- coding: UTF-8 -*-
3 PI = 3.14
4 def main():
5 print("PI:",PI)
6 main()
现在,我们写一个用于计算圆面积的area.py文件,area.py文件需要用到const.py文件中的PI变量。从const.py中,我们把PI变量导入area.py:
1 #!/usr/bin/python3.6
2 # -*- coding: UTF-8 -*-
3 from const import PI
4 def calc_round_area(radius):
5 return PI * (radius ** 2)
6 def main():
7 print("Round area:",calc_round_area(2))
8 main()
运行结果:
PI: 3.14
round area: 12.56
2 修改const.py,添加if __name__ == "__main__"
1 #!/usr/bin/python3.6
2 # -*- coding: UTF-8 -*-
3 PI = 3.14
4 def main():
5 print("PI:",PI)
6 if __name__ == "__main__":
7 main()
运行const.py,输出如下:
PI: 3.14
运行area.py,输出如下:
round area: 12.56