您的位置:首页 > 编程语言 > Python开发

python中 if __name__ == '__main__':作用

2018-03-06 18:53 567 查看
对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口。而 Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。假设有一个const.py .文件,内容如下:
PI = 3.14def main():print "PI:", PImain()
程序输出:PI: 3.14现在,我们有一个 area.py 文件,用于计算圆的面积,该文件里边需要用到 const.py 文件中的 PI 变量,那么我们从 const.py 中把 PI 变量导入到 area.py 中:
from const import PIdef calc_round_area(radius):return PI * (radius ** 2)def main():print "round area: ", calc_round_area(2)main()
程序输出:PI: 3.14round area: 12.56但如果把const.py改成
PI = 3.14def main():print "PI:", PIif __name__ == "__main__":main()
然后再运行 area.py,输出如下:round area: 12.56
if __name__ == '__main__'
 就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于 
__name__
 的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息