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

Python中if

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

Python中if

含义

这句代码是用来检测当前程序是否正在作为主程序被运行。

  • 如果是,则执行下面的主功能(main functionality)
  • 如果不是,则无需执行下面的主功能
为什么这么做?

因为Python中每个程序都可以被导入到其他程序中。即使是一个打算被用作脚本的文件,也应该是可被导入的。

然而所有的顶级代码在模块导入时都会被执行。

这意味着同一个程序可能出现两种运行方式(状态):

  • 作为主程序运行
  • 作为被导入的程序运行

但仅仅进行导入操作就导致这个脚本的主功能被执行,显然是不必要的。

所以编写程序时,主功能应该放在一个main()函数中,防止该脚本被导入时主功能被执行。

原理

每个Python程序都有一个特殊的变量__name__:

  • 当程序做为主程序执行时,__name__值会变成 “__main__”
  • 而在平时或者作为被导入的程序执行时,__name__值都是该程序的文件名

我们可以通过__name__是否为"__main__"来检测当前程序正在作为 主程序 运行,还是作为 被导入的程序 运行。

例子:

假设下面是一个您写的程序,文件名是"myFunctions.py"

def triple(x):
    return x * 3
if __name__ == '__main__':
    print(triple(6))

当您将程序作为主程序运行时,__name__ 的值为“__main__”,因此会执行到最后一行(打印 18)。
当您将该程序导入到另一个程序时__name__的值是“myFunctions”,所以不执行最后一行(不打印18)。

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

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

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