Python中if __name__ = "__main__"的理解

  通俗的理解__name__ ="__main__"的意思就是:当.py文件被直接运行时,if __name__ = "__main__"之下的代码快将被运行;当.py以模块的形式被导入时,if __name__ = "__main__"之下的代码将不被运行

程序入口

  对于很多编程语言来说,程序都会有一个入口,python属于脚本语言,不像编译型语言那样先将程序编译称二进制再运行,而是动态的逐行运行。也就是从脚本的第一行开始运行没有统一的入口。一个python的源码除了可以直接运行外,还可以做成模块被其他.py文件导入。

代码实例:

现在有以下一个源码:number.py

1 p = 2
2 def main:
3     print("p = ",p)
4 
5 main()
6 
7 运行结果:p = 2

当我们将此源码作为模块进行导入时

 1 from number import p
 2 def func(numbers):
 3     return numbers *(p ** 2)
 4 def main:
 5     print("number",funs(2))
 6 
 7 main()
 8 #运行结果:
 9 p = 2
10 number8

现在我们对number.py进行修改,添加if __name__ = "__main__"

1 p = 2
2 def  main:
3     print("p = ",p)
4 if __name__ = "__main__":
5     main()

此时当number.py被作为模块进行导入时,if __name__ = "__main__"后面的语句将不会被执行

if __name__ = "__main__"就相当于一个程序入口,也可以理解为是一个编程习惯吧

笨鸟先飞
原文地址:https://www.cnblogs.com/zoutingrong/p/12786862.html