栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python中的if

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python中的if

Python中的if__name__ ==__ main __ : 简单易懂的解释

前言

相信有很多小伙伴在学习Python时,往往会看到许多代码中都会有一句if__name__==__main __:,有时会感到疑惑:这行代码是干什么的呢?
我直到第一次参加比赛后才意识到这行代码的重要性,就是因为不懂这
句代码,一个程序我调了一天,也不知道问题出错在哪里(已经哭晕在
wc)。
下面结合我自己的理解,带着大家一起了解一下这句代码。

案例

要想理解这个概念,我们首先要了解一下模块的概念,说白了,一个模块就是一个.py文件。

而每一个.py文件都有一个对应的内置属性name,name也有一个对应的值,一般为模块名。

例如,import 模块名,则name的值为 模块名 。

一般来说,如果你新创建了一个模块,并且在这个模块里面运行了程序,则相当于__name__ == __main __, 下面我们举个例子来说明一下。

如 创建一个模块text1.py:

1. def func():
2.	 	 print("hello,world!")
3.	 if __name__=="__main__":
4.		 func()

在该模块中,首先定义了函数func(),用来打印出hello, world!,然后判断__name__ 是否等于__main__ ,如果等于,则打印,反之则不打印,因为我们直接在创建的模块text1.py中运行这些程序,相当于__name__ ==__main__条件成立,所以打印。

现在运行该模块,结果为:

1. hello,world!

接下来,我们再创建另一个模块text2.py,并在text2.py中写入以下代码:

1.  import text1
2.  print("world,hello!") 

在该模块中,首先import test1,然后打印world,hello! 做测试用,运行该模块,结果为:

1. world,hello!

运行结果说明没有运行text1里面的程序,说明__name__ 不等于__main__

结论

通过上面test1.py和test2.py两个模块,我们现在可以得出一个重要的结论: 如果模块是被直接运行的,则该模块中的代码块被运行,如果模块被import,则该模块中的代码块不被运行。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468008.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号