Python基础内容:怎样快速理解if __name__ == 'main'语句

简介: name 是当前模块名,当模块被直接运行时模块名为 main 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

name 是当前模块名,当模块被直接运行时模块名为 main 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

这里写图片描述

相信好多初学者在学习python的过程中,经常会遇到if name == ‘main’语句,可能你知道它的作用,也可能很模糊,今天就给大家分享下我的理解。

我们先新建一个text的py文件,并写入以下内容并运行

这里写图片描述

然后呢,在同一个文件夹中在新建一个py文件text1,写入一行代码:import text 然后运行看看结果

这里写图片描述

与之前test.py代码运行结果比较,只有输出学习Python,也就是if name==”main“: 之前的语句被执行,之后的没有被执行。

为什么会这样呢?别急,我们稍微处理下代码就可以看明白了:
在 if name==”main“之前加入一行代码:print(name),即打印出name,然后我们在重新分别执行2个代码看看

这里写图片描述

这就很清楚了,在text中name变量的值为main,而在text1中,name的值为text,明显不满足if语句,因此,后面的代码无法执行!

仔细想想,它的原理也就是:

每个python模块(文件)都包含内置的变量name,当该模块被执行的时候,name就等于文件名。而import到其他模块(文件)中,则name等于当前的模块名,而main等于当前文件名,所以直接执行模块的时候if name==”main“为真,可以执行;import到其他模块(文件)中,if name==”main“为假,那当然就不执行对应的代码了。

简单说就是:name是当前的模块名字,在当前文件时可以被执行,而模块被导入时,代码不被运行!

这里写图片描述

喜欢就关注下呗( ̄ε  ̄)

相关文章
|
1月前
|
Python
python中if语句(二)
python中if语句(二)
20 0
|
1月前
|
Python
python中if语句(一)
python中if语句(一)
18 0
|
1月前
|
Python
Python中 If语句条件测试
Python中 If语句条件测试
21 1
|
3月前
|
Python
python RuntimeError: main thread is not in main loop
python RuntimeError: main thread is not in main loop
66 1
|
3月前
|
Python
Python if语句
Python if语句
|
1月前
|
Python
python中if __name__ == '__main__'
python中if __name__ == '__main__'
17 3
|
1月前
|
Python
python中if语句(三)
python中if语句(三)
12 0
|
1月前
|
Python
Python中如何使用if语句处理列表
Python中如何使用if语句处理列表
20 1
|
1月前
|
Python
Python使用if语句处理列表及如何使用列表推导式来创建一个新列表
Python使用if语句处理列表及如何使用列表推导式来创建一个新列表
24 0
|
1月前
|
Java C++ Python
Python分支结构内联if讲解
Python分支结构内联if讲解
16 0

热门文章

最新文章