问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PYTHON里if __name__ == "__main__":是干什么的

发布网友 发布时间:2022-05-10 04:55

我来回答

4个回答

懂视网 时间:2022-05-10 09:16

一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是在其他文件的python脚本中被import即调用(模块重用)执行。因此if name == 'main':的作用就是控制这两种情况执行代码的过程,在if name == 'main':下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。

例子:

# file one.pydef func():
 print("func() in one.py")
print("top-level in one.py")if __name__ == "__main__":
 print("one.py is being run directly")else:
 print("one.py is being imported into another module")
# file two.pyimport one # start executing one.pyprint("top-level in two.py")
one.func()if __name__ == "__main__":
 print("two.py is being run directly")else:
 print("two.py is being imported into another module")

当运行python one.py,输出:

top-level in one.py
one.py is being run directly

当运行python two.py,输出:

top-level in one.py
one.py is being imported into another module
top-level in one.pyfunc() in one.py
two.py is being run directly

热心网友 时间:2022-05-10 06:24

__name__是指示当前py文件调用方式的方法。如果它等于"__main__"就表示是直接执行,如果不是,则用来被别的文件调用,这个时候if就为False,那么它就不会执行最外层的代码了。
比如你有个Python文件里面
def XXXX():
#body
print "asdf"
这样的话,就算是别的地方导入这个文件,要调用这个XXXX函数,也会执行print "asdf",因为他是最外层代码,或者叫做全局代码。但是往往我们希望只有我在执行这个文件的时候才运行一些代码,不是的话(也就是被调用的话)那就不执行这些代码,所以一般改为
def XXXX():
#body
if __name__="__main__":
print "asdf"

热心网友 时间:2022-05-10 07:42

这个表示执行的是此代码所在的文件。 如果这个文件是作为模块被其他文件调用,不会执行这里面的代码。 只有执行这个文件时, if 里面的语句才会被执行。 这个功能经常可以用于进行测试。

热心网友 时间:2022-05-10 09:17

窗外的风景作文结尾怎么写,下面小编为大家推荐两篇“窗外的风景作文结尾”,如果想要看更多的关于风景
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么打电话给别人,显示无法接通? 我给对方打电话时,他那边响一声后就提示无法接通是什么情况? iPhone 6Plus相机远距离无法对焦,得用力摇几下才恢复,过会又模糊,什么... iphone6plus。近拍清楚,远拍模糊,怎么回事?聚焦不了。 怎么办~ 廉锦枫《廉锦枫》——剧情分析 我想取个好听的英文名字,而且希望是有意义的`拜托了各位谢谢 不锈钢公司取名带匠字文化深厚的企业名称大全 带匠字的厂名 公司名字为什么不可以带匠字 我儿子刚上一年级老师给我发微信时表现不错我怎么和老师沟通 OPPO手机联通卡和移动卡一起装在上面 但是上网默认是移动卡不能切换 怎么才能切换 OPPO移动版怎么改联通 oppor7 plus怎么换成联通4G? 我的手机是oppor11s我想把流量换成联通的 为什么我更换不了 一直是移动的 粮食补贴什么时候发放 开封粮食补贴什么时候发放 我的手机是oppoR9sk,怎么切换网络,我是一张移动卡,一张联通卡 粮食补贴什么时候开始发放 oppo r11怎么样可以把移动卡1的网络换成卡2联通的网络? 白萝卜丝卷怎么做好吃 镇江幼儿园贫困补助什么时候发放 农业补贴什么时候发 贫困补助什么时候到账2022 全国运动会的项目有什么 三年级运动会项目有哪些 早上六点梦到阳寿未尽的父亲坐在棺材里给我说说 身上躺了一只猫是怎么回事? 电梯里面的摄像头没有灯光的时候能不能录像 这种有摄像头录音吗 电梯摄像头可以听见人的说话吗 excel转成pdf扫描文件需要几步? 梦见女婴是什么彩票号码? 梦见生女儿的彩票数字 梦见自己有个孩子 解梦是什么彩票号码 梦到顺利生下女儿可以买彩票吗? sqlserver2005缺少sqlexpress服务怎么办啊 sql server2005安装之后为什么没有sqlexpress服务 SQL express服务未安装,如何安装,应该去哪下载。谢谢! SQL Server 2008R2安装后为什么没有SQL Server (SQLEXPRESS)服务呢。。。 安装sql 2005时数据库服务没有安装成功什么原因 常喝大麦若叶青汁对身体都有哪些好处? 网评格式 请问评论文章怎么写?要注意哪些方面? 冰红茶和茶是什么关系? 康师傅冰红茶是怎样做的真有红茶吗 冰红茶是的来历? 冰红茶是有色饮料吗? PYTHON里if __name__ == "__main__":是干什么的? 支付宝的基金收益是什么解释下 千眼狼高速高速摄像机可以在水下清晰的拍摄吗? 汽车上的充电灯原理,它是如何判定电瓶充满电的。另外磁场线是否钥匙的点火开关控制?谢谢