尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Python Assert 语句
我们要去搞明白, 到底什么叫做断言。断言是程序里用来坚定地声明或表明某个事实的语句。比如在编一个除法的函数时, 你内心非常确定, 那个除数是不应该等于零的, 所以你就发出了断言, 说明这个除数不是零。断言仅仅只是一个布尔表达式, 它的作用是用来检查某个具体的条件有没有返回出TRUE这个结果。假若该条件的结果是 TRUE, 那么程序就什么都不会去做, 而是直接接着去执行后面那一行的代码内容。然而呢, 一旦这个条件为 FALSE, 则程序立马就会停止下来, 并且同时还可能会抛出一个相关的错误信息。它同时具备一种调试工具的属性, 原因在于当错误情境出现的时候, 该程序会立刻停止运行操作, 并且将所发生的错误信息进行展示。我们可以通过下面的这种方式去进行查看, 就是流程图。这样大家就能看得很明白。语句有内置的 语句用于在程序中使用断言条件。 语句有一个条件或表达式它应该总是为 true。如果条件为 false 会停止程序并给出 。在对应的内容里面, 使用了相关的语法。assertassert ,在这其中, 我们能够按照上文那样提到过的, 对那个语句采取两种不同的使用方式。该语句包含一个判断条件, 假如这个条件是没法成立的, 那么程序就会终止运行, 并且还会显示出相应的提示内容。另外, 该语句也可以具备一个判断条件以及一个并非必须填写的错误说明信息, 一旦那个判断条件没有实现的时候, 程序便会被强制结束, 同时不但会停止操作, 而且还会输出指定的错误告知信息。让我们拿一个例子来说明, 比如说有一个函数, 这个函数的任务是计算用户传进来的那些值的平均数, 而且要注意到, 传入的这个值绝对不应当是那种空荡荡的列表状态, 我们会动用检查参数的语句去进行把关操作, 具体的做法就是, 一旦检测到那所传进来的列表里面的长度竟然为零的话, 整个程序就当即停止运作。这个示例在使用的时候, 是不包含错误信息的。def avg(marks):assert len(marks) ! 0return sum(marks)/len(marks)mark1 []print(Average of mark1:,avg(mark1))当我们运行上述程序时输出将是AssertionError我们收到了一个错误, 出现这个错误的原因在于, 我们把一个空的列表mark1传给了语句, 这就使得条件变成了false, 程序于是停止了运行, 并且给出了相应的反馈。现在我们要传入一个其他的列表进去, 这个列表会去满足条件的那个情况, 然后大家来看看具体的输出结果到底会是什么样子的呢。示例 2带错误消息使用def avg(marks):assert len(marks) ! 0,List is empty.return sum(marks)/len(marks)mark2 [55,88,78,90,79]print(Average of mark2:,avg(mark2))mark1 []print(Average of mark1:,avg(mark1))当我们运行上述程序时输出将是Average of mark2: 78.0AssertionError: List is empty.我们把非空列表 mark2 和空列表 mark1 传入给 avg() 函数, 我们得到了 mark2 列表的输出, 但之后我们得到了一个错误。这个错误是 “List is empty”。mark2 列表满足了那个条件。程序因此继续运行, 而 mark1 不满足条件并给出了那个提示。要记住的关键点
RELATED

相关推荐

Java EE仓库管理系统数据库设计:从ER图到MySQL建表与JPA持久层实战

Java EE仓库管理系统数据库设计:从ER图到MySQL建表与JPA持久层实战

简介:这份文档面向Java-EE初学者、课程设计学生及需要完成仓库管理系统开发的开发者,聚焦数据库设计阶段的实体关系建模,帮助读者理清货物、仓库、管理员、采购员、提货员等核心实体的属性定义与关联逻辑。资源包共1个doc文件,约2…

📅 2026/9/25 22:01:54
CentOS7 VMware最小化安装与静态IP配置实战指南

CentOS7 VMware最小化安装与静态IP配置实战指南

1. 这不是“又一篇CentOS7安装教程”,而是一份能让你在30分钟内完成部署、网络通透、后续不踩坑的实战手册你搜“CentOS7安装教程”,页面刷出来几百篇——有的配图模糊,步骤跳步;有的写着“详细”,却把VMware新建虚拟机…

📅 2026/9/25 22:01:54
为什么你的后端架构撑不住高并发?这5个技术栈没选对

为什么你的后端架构撑不住高并发?这5个技术栈没选对

引言很多团队在业务初期用一套简单的架构就能跑通,可一旦流量上涨,系统就开始频繁超时、宕机、雪崩。表面看是“并发太高”,根因往往是技术栈选型时就埋下了隐患。高并发不是靠堆机器就能解决的,选错技术栈,再多的服务…

📅 2026/9/25 22:01:54
MORE NEWS

更多资讯

📰

Nasiko A2A Registry 设计解析:把“Agent 发现“本身做成一个 A2A Agent

【免费下载链接】nasiko Developer Control Plane for your AI Agents 项目地址: https://gitcode.com/gh_mirrors/na/nasiko 点击查看 免费下载 在 Nasiko(Developer Control Plane for your AI Agents)中,Agent 之间的通信、发…

📰

LDA主题词提取实战:从原理到Python实现与调参

简介:面向自然语言处理与文本挖掘场景的LDA主题建模与关键词提取资源包,基于潜在狄利克雷分配模型,适合需要学习主题模型原理或快速搭建文本分析工具的开发者和研究者,可用于从文档集合中自动发现隐藏主题并提取代表性词语。压缩包…

📰

从ProX到UltraX:LLM预训练数据精炼方法演进史与UltraX-0.6B精炼模型完整详解

从ProX到UltraX:LLM预训练数据精炼方法演进史与UltraX-0.6B精炼模型完整详解 【免费下载链接】UltraX-Preview 项目地址: https://ai.gitcode.com/OpenBMB/UltraX-Preview OpenBMB 开源社区发布的 UltraX-Preview 数据集是 LLM 预训练数据精炼的最新成果&am…

📰

S型曲线Demo:手把手理解扩散模型DDPM原理与实现

简介:面向机器学习初学者的扩散模型微型demo,通过生成S型曲线演示扩散模型从随机噪声逐步还原数据分布的核心过程,特别适合刚接触生成模型、想绕过复杂公式直接看代码逻辑的读者。压缩包共8个文件,大小约9.74MB,主程序…

📰

Robomongo 内嵌 esprima 2.7.3:ECMAScript 解析器在 MongoDB Shell 脚本解析中的集成与应用

数据库客户端桌面应用 【免费下载链接】robomongo Native cross-platform MongoDB management tool 项目地址: https://gitcode.com/gh_mirrors/ro/robomongo 点击查看 免费下载 Robomongo(即 Robo 3T)是一款原生的跨平台 MongoDB 管理工具&…

📰

网络RTT是什么?一文搞懂延迟、Ping值与卡顿优化

你正跟朋友联机打游戏,语音里突然传来一句:"你RTT怎么这么高,卡成PPT了。"你愣了一下,想问什么是RTT,又觉得这时候追问有点丢人。其实RTT全称是Round-Trip Time,翻译过来就是往返时间。搞网络的人…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬