python:__name__的使用
Posted xmcwm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python:__name__的使用相关的知识,希望对你有一定的参考价值。
1、python中__name__是什么意思?
很多python的初学者可能都会遇到一个问题:__name__是什么意思?
在刚开始学习python的时候,我们总会看到这样一句代码:
if __name__ == "__main__":
一开始我以为这句代码的意思和C语言中的main函数一样,程序从这里开始执行,但后来经过查询资料发现,两者并不完全相同,这里做一些解释:
-
- __name__是一个变量,前后加了双下划线是因为这是系统定义的名字(python中系统变量都是双下划綫开头结尾),普通变量不使用这种命名方式;
- python有很多模块,这些模块是可以独立运行的(这一点与C语言和C++的头文件不同);
- __name__是用来标识模块名字的一个系统变量。这里分两种情况:第一种情况指的是当前运行的模块,那么当前模块__name__的值就为"__main__";第二种情况指的是该模块是使用import导入的模块,那么这个被导入模块的__name__变量的值为该模块的文件名(去掉.py)。
2、测试一下上面内容的正确性
首先创建两个测试文件,代码如下
test_one.py:
def test_function(): print(__name__) def test1_function(name): print(type(name), name)
test.py:
from test_one import * test_function() test1_function(__name__)
运行test.py文件,得到下面的结果:
以上是关于python:__name__的使用的主要内容,如果未能解决你的问题,请参考以下文章
Python中if __name__ == '__main__': 的解析
Python中if __name__ == '__main__': 的解析
一文弄懂Python中的 if __name__ == __main__
python __name__ 和__main__的使用领悟