我们知道,python中变量的命名规则中有一条是:变量名只能以字母或下划线开头,但以下划线开头的变量在python中有特殊涵义。__name__变量就是一个有特殊含义的python变量。我们见过做多的是if __name__ == '__mian__':这种用法,下面我们来对__name__的用法做出详解。
在对__name__进行解释之前,先来了解几条需要用到的python知识。
python中前后加了下划线的变量是系统定义的名字。普通变量不要以下划线开头命名变量。python中有许多模块,每个模块都是一个py文件,这些py文件即模块是可以独立运行的。这不同于C/C++的头文件。import某个python模块时,会自动执行一次所Import的模块。只不过一般情况下自动执行模块只是为调用其中的某些功能做准备而没有任何输出,例如python编译器知道了此模块有哪些函数可以使用。下面是一个使用范例:
test1.py的内容如下: # test1.py def test(): print("__name__ = ", __name__) if __name__ == '__main__': test()执行结果:
test2.py的内容如下: # test2.py import test1 def test(): print("__name__ = ", __name__) if __name__ == '__main__': test() print('test1 __name__ = ', test1.__name__)执行结果: