如何简单地理解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

 

posted @ 2019-08-28 10:08  菩提花开  阅读(306)  评论(0编辑  收藏  举报