python__name__原理及用法详解

Torie ·
更新时间:2024-11-13
· 848 次阅读

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__用法实例分析



Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号