在学习C语言的时候,程序的运行是从main函数开始的,因此,功能代码一般写到main函数中,子程序如果想要调用,也需要在main函数中进行调用。
然而,Python语言中,程序从第一行就开始执行(定义函数除外) ,并不需要编写main函数。
可以直接看1.3总结
1 __name__ 是什么
name 是Python的一个内置属性,属于全局变量,每个py文件都有一个自己的__name__属性。
关于__name__属性值,却有两种不同情况。
1.1 示例1
假设新建一个py文件,编写如下程序,运行这个文件,观察__name__的属性值。
print("当运行这个文件时,观察__name__的属性值")
print('__name__的值为:', __name__)
可以看到输出中__name__的属性值为: __main__
1.2 示例2
新建一个py文件,名称假设为test.py,在文件中编写一段程序:
print("test文件被调用了!")
print('__name__的值为:', __name__)
再新建一个py文件,名称假设为test1.py,在文件中编写一段程序,并且调用该程序。
import test
print("调用程序完成")
此时,运行test1.py这个文件,就会发现输出结果中__name__的属性值为:test,也就是文件名。
1.3 总结
name 是Python的一个内置属性,当自己运行时,它的属性值就为 __main__,
这个文件被调用时,这个文件的属性值就成了它的文件名。
2 __name__ 作用
由上文可知,当不同运行方式下,该属性的属性值是不同的。然,在编写项目中,可能会写到很多的模块文件,对于某一个模块文件,为了验证其中某个函数是否运行良好,可以在该模块文件加入
if __name__ == '__main__:
#测试代码1
#测试代码2
这种写法,可以就区分了,如果单独运行这个模块文件时,就会调用想测试的代码进行测试,如果当其它文件调用这个模块时,就不会运行这里面的测试代码。