在其他语言中都会有一个特殊的程序运行入口,称之为main方法\函数
python中的最小执行单元是代码块,代码块中只包含一行代码也能运行,比如print语句,所以不存在main方法/函数
为了程序的完善,在python中模拟了main方法的操作
在python中,每个python文件就是一个模块,模块的名称是name默认情况下,模块的名称name就是文件的名称
如果当前python文件是可执行的文件[python xxx.py]
那么 name = main
每一个python模块,都有一个魔法属性name。指代当前模块的名称
一个python模块,被其他模块引入时,会默认执行被引入模块的所有代码,可能会误执行测试代码,每次都会执行不需要执行的测试代码,会产生得到的数据不是预期的效果。
为了保证被引入模块的测试代码不至于在import 时执行导致错误,一般情况下,每一个模块中的测试执行代码,都需要包含在一个选择判断中【main函数/方法】
选择判断: if name == "main": 当模块作为运行模块,要执行的代码
1.当前模块作为运行模块时,作为测试代码
2.作为一个程序的入口
面试题:简单说说python中的main函数/方法
1.python中没有所谓的main函数/方法
2.python中为了保证测试代码的正确性和入口的唯一性,通过选择结模拟了一个main函数/方法,主要是通过python模块的魔法属性name,也就是当前模块的名称属性进行操作的,默认情况下名称属性就是当前文件模块的名称,但是如果作为运行模块的话,该名称属性的值就会是main,所以通过name是否是main的判断完成了main函数的模拟
3.一般情况下在我们开发时,这个模拟main函数/方法中,会有两个作用,一是用来编写测试代码,二是用来规范程序入口.
网友评论