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文件,得到下面的结果:
您可能感兴趣的文章:Python3导入自定义模块的三种方法详解python引入导入自定义模块和外部文件的实例python引入不同文件夹下的自定义模块方法python导入不同目录下的自定义模块过程解析Python3.5模块的定义、导入、优化操作图文详解Python创建模块及模块导入的方法python根据路径导入模块的方法Python在不同目录下导入模块的实现方法python模块导入的细节详解Python中if __name__ == "__main__"详细解释正确理解Python中if __name__ == ''__main__''Python模块的定义,模块的导入,__name__用法实例分析