作为解释性脚本语言,python程序并没有特定的main()主程序入口,一般就是自顶向下,逐行执行,一般python可以理解__name__ == "__main__"为程序的执行入口。
__name__的理解__name__方法是python中的一个内置函数,记录的值就是一个字符串
如果是在当前文件中执行,记录的值就是__main__
在test1文件中编写
print(__name__)#输出__manin__说明此时是在本文件中执行 输出结果: C:\Users\qun\AppData\Local\Programs\Python\Python37\python.exe C:/Users/qun/Desktop/python封装项目/test1.py __main__
python
12345如果是在另外的py文件中执行,记录的值就是模块名
在test2文件中编写
import test1#输出的是文件文件名,说明是在其他文件中导入执行的 输出结果: C:\Users\qun\AppData\Local\Programs\Python\Python37\python.exe C:/Users/qun/Desktop/python封装项目/test2.py test1 12345 python文件一般可以有两种执行的方式 自己在本文件当中直接执行作为模块在另外的.py文件中导入执行
综合 案例 :
创建两个文件来计算面积
参数文件argument.py内容如下:
length = 10 width = 10 def get_area(): print("长度:{}".format(length)) print("宽度: {}".format(width)) get_area() C:\Users\qun\AppData\Local\Programs\Python\Python37\python.exe C:/Users/qun/Desktop/python封装项目/argument.py 长度:10 宽度: 10 进程已结束,退出代码0
python
123456789101112131415计算文件Area.py内容如下:
import argument print("计算面积为:{}".format(argument.length * argument.width)) C:\Users\qun\AppData\Local\Programs\Python\Python37\python.exe C:\Users\qun\Desktop\python封装项目\Area.py 长度:10 宽度: 10 计算面积为:100 进程已结束,退出代码0
python
12345678910从以上的例子可以看到,如果将文件作为模块导入使用的话,模块文件中的代码会被逐步执行,有时我们只需要模块文件中的某些参数,不需要某些代码执行,此时就可以借助于__name__ == "__main__"来控制语句的执行,在__name__下的语句在导入时不执行
修改argument.py文件
length = 10 width = 10 def get_area(): print("长度:{}".format(length)) print("宽度: {}".format(width)) if __name__ == "__main__": # 使用此方法时,下面的语句在导入到其他文件中时不执行 get_area()
python
1234567891011再次执行Area.py文件
C:\Users\qun\AppData\Local\Programs\Python\Python37\python.exe C:\Users\qun\Desktop\python封装项目\Area.py 计算面积为:100 进程已结束,退出代码0
python
12345 总结:__name__ == "__main__" 函数 是用来控制python文件执行的场景,使用该函数的最大作用就是为了控制该函数下面的语句在其他文件中导入时不执行效果。


