IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python中if __name__ == ‘__main__‘:是什么意思? -> 正文阅读

[Python知识库]Python中if __name__ == ‘__main__‘:是什么意思?

含义

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

  • 如果是,则执行下面的主功能(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)。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:47:35  更:2021-10-27 12:48:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:45:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码