python学习笔记——理解if __name__ == '__main__'

来源:互联网 发布:科比巅峰数据 编辑:程序博客网 时间:2024/06/01 08:54

__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。我们通过一个简单的例子来理解为什么要使用该语句:


假设我们有一个C.py文件

PI = 3.14def main():    print "PI:", PImain()
main()函数相当于最后检查一遍,运行后输出:
PI: 3.14

我们现在有一个area.py文件,用于计算圆面积,需要用到C.py文件中的PI变量

from C import PIdef calc_round_area(radius):    return PI * (radius ** 2)def main():    print "round area: ", calc_round_area(2)main()
运行area.py,输出结果
PI: 3.14round area:  12.56

我们发现C中的main函数也被运行了,但是实际上我们只希望得到圆面积的结果,于是更改C.py文件

PI = 3.14def main():    print "PI:", PIif __name__ == "__main__":    main()

然后运行area.py,输出如下:

round area:  12.56

这才是我们要的结果。


原创粉丝点击