【学习笔记】31、Python中的断言

53 篇文章 91 订阅
订阅专栏

Python中的断言

、初识断言

功能:Python内置的assert语句(断言)可以用来自动检测Python程序中的错误,让程序更可靠更易于调试。

含义:断言语句是一种调试工具,用来测试某个断言条件,如果断言条件为真,则程序将继续正常执行;如果条件为假,则会引发AssertionError异常并显示相关错误信息。

例子:

上面的例子是商店某商品的打折功能,其中的assert语句是为了确保在任何情况下,通过该函数计算的折后价都在0到原价之间。例子中是打8折,返回折扣价24元,那么要是尝试输入“折扣”是200%呢?

 这时候程序会停止并触发一个AssertionError的异常,因为违反了程序中设置的断言条件。这里还可以得知断言验证失败的具体位置,可以更加轻松的追溯问题所在,极大的加快了调试工作的速度。

为什么不用普通的异常来处理?

断言是为了告诉开发人员程序中发生了不可恢复的错误,对于可以预料的错误,用户可以予以纠正或重试。

断言用户程序内部自检,如声明一些代码中不可能出现的条件,如果触发了某个条件,即意味着程序中存在相应的Bug。

断言是一种调试辅助功能,并不是用来处理运行时错误的机制。

二、断言的语法

assert expression1 [, expression2]

其中expression1是需要测试的条件,可选的expression2是错误消息,如果断言条件为假,则会显示expression2的消息。

If __debug__:

        If not expression1:

                raise AssertionError(expression2)

 

三、注意事项

1、不要使用断言验证数据。

有些情况下设置Python解释器会全局禁用断言,那么所谓的条件会被忽略,条件下面的语句会被执行,从而造成不可预知的风险。

2、不要使用永远为真的断言。

若将一个元组作为断言语句中的第一个参数传递时,断言条件总为真,因为只要非空元组,那么结果一定是为真的,所以断言语句毫无意义。

 

Python学习笔记.docx
12-03
if 语句是 Python 最基本的控制结构之一,用于根据条件表达式的值来选择执行不同的代码块。if 语句的基本形式为: if expression: expr_true_suite 其,expression 是一个布尔值的表达式,如果其结果为真,则...
Python异常处理学习笔记
09-22
Python异常处理是编程非常重要的一个环节,它允许程序员优雅地处理程序运行时可能出现的错误情况,确保程序的稳定性和健壮性。在Python异常是通过类来表示的,这些类位于`Exception`类层次结构。常见的...
Python 异常处理:Python 断言
新华编程特战队
02-02 1544
它主要用作调试工具。例如,如果我们编写一个执行除法的函数,我们知道除数不能为零,因此我们“断言”除数不应等于零,以防止可能发生的任何类型的错误/错误由于后面的代码出现了这个问题。如果在复杂的操作过程,半径的值发生变化并且不等于直径的一半,我们的断言语句条件会立即检测到它并抛出错误,以避免代码出现任何进一步的复杂性/错误或提供不需要的输出。然而,如果一个程序涉及圆的半径和直径的计算,并且圆的半径在程序的任何点都不是直径的一半,那么这属于“这不应该发生”的情况,如下所示这是无法改变或违反的事实。
Python技能树共建】断言
梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者
04-24 2万+
Python技能树共建,断言
python assertpy断言库用法(通俗易懂,一文搞定各种类型断言)
最新发布
公众号【伤心的辣条】资料领取~
04-09 698
assertpy 是一个用于增强Python断言的库,提供了许多易于阅读和使用的断言方法,特别是在处理复杂数据结构时。 以下是一系列使用assertpy断言语句的代码示例,涵盖了不同类型的数据验证:
python断言
weixin_48195174的博客
05-05 1882
python断言(软件测试)
Python 进阶语法:断言
moment159的博客
01-17 1183
断言,简而言之,就是检查代码的某个条件是否为真。如果条件为真,程序继续执行;如果条件为假,程序会引发一个。
python基础语法10-断言assert
a316495442的博客
11-15 1228
断言是一个调试工具,它的作用是发现异常而不是处理异常
python学习笔记
04-24
Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱。...以上内容涵盖了Python的基础知识,从数据类型、控制流到文件操作、网络请求和异常处理,为Python初学者提供了全面的学习指南。
Python_学习笔记.docx
06-18
Python是一种广泛应用于数据分析、机器学习和深度学习领域的高级编程语言,因其简洁明了的语法而深受程序员喜爱。以下是一些Python基础知识的详细说明,主要基于提供的文件内容: 1. **断言Assert)**:`assert`...
python-notes:Python学习笔记:memo:
03-28
Python笔记学习笔记 :memo: 介绍 有时候想找一个东西(写法),但当下却忘记关键字,所以整理一篇学习笔记,要找资料的时候也比较方便。 有些是网路上找的范例,然后自己再修修改改,或者去参考一些Python-Patterns...
断言assert)及其作用
热门推荐
Fan
08-20 2万+
文章目录断言assert)及其作用为什么断言只用于测试阶段关于断言你需要注意的事 断言assert)及其作用 断言是一种除错机制,**用于验证代码是否符合编码人员的预期**。编码人员在开发期间应该对函数的参数、代码间执行结果合理地使用断言机制,确保程序的缺陷尽量**在测试阶段**被发现。 也就是说,断言assert函数只能在测试阶段用,不能再release版本使用。那么我们可以用什么方法实...
python断言语句语法_python的几个有趣语法
weixin_32456485的博客
02-20 292
for - else:在之前,if和else是一对。但是您可能不知道的是,else是个脚踏两只船的家伙,for和else也可以是一对,而且是合法的for i in range(4):print(i)else:print("else:",i)输出结果0123else:3如果在for和else之间(循环体内)有if出现,也不会影响for和else的关系。因为for的级别比if高,else又是一个拜金的...
转载 Assert断言知识
shy_snow的专栏
06-11 1089
断言
問華的博客
12-26 235
assert 语句,在需要确保程序的某个条件一定为真才能让程序运行的话就非常有用   >>> age = 10 >>> assert 0 age 10 Traceback (most recent call last):  File "", line 1, in module>  
python assert的含义及用法
xinhuaxi120的博客
05-05 8653
python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常assert断言语句的语法格式assert python 怎么用?expression assert 表达式下面做一些assert用法的语句供参考:assert 1==1assert 2+2==2*2asser...
python assert断言语句
Imagine_Dragon的博客
10-02 1680
assert断言语句
Pythonassert的作用
baidu_15113429的博客
01-15 2079
Python断言,在条件不能达到的时候报错误。 s="我" word=s.split() print(word) assert len(word) >= 2, print([word[0]]) 出现错误 "C:\Program Files\Anaconda3\python.exe" C:/Users/User/PycharmProjects/nlpdemo/bilstmcrf/l
python学习笔记 pdf
11-21
4. 模块:Python学习笔记PDF,介绍了Python的模块和包的概念。模块是一组函数、类或变量的集合,以.py文件的形式存在,可以被其他程序调用和使用。学习者将学习如何导入模块、使用模块的函数和变量。 5. 面向...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 韩语音译收集 172408
  • 英文脏话大全 141167
  • JRE和JDK的区别 137624
  • 1、大道至简的数据处理工具-(Microsoft Power Query入门) 77090
  • 504 Gateway Time-out错误的解决方法 73487

分类专栏

  • ERP 52篇
  • SAP QM 质量管理 7篇
  • SAP S/4 HANA Cloud 9篇
  • 笔记 20篇
  • 数据可视化 2篇
  • 智能制造IT规划 16篇
  • 页面设计 30篇
  • MySQL 6篇
  • Python 53篇
  • Tableau 4篇
  • SAP VC基础案例 6篇
  • node.js 1篇
  • SAP PS 3篇
  • 企业金融课学习笔记 2篇
  • ABAP程序开发案例 15篇
  • SAPUI5
  • Power Query 从实例应用到精通 51篇
  • SAP实用配置 7篇
  • Power View屠宰篇 6篇
  • Power Map鹦鹉学舌篇 10篇
  • Oracle基础早知道 7篇
  • SAP MM模块基础学习手册 64篇
  • PP 生产订单 13篇
  • SAP PM模块基础学习手册 14篇
  • 杂文 494篇
  • AgilePoint 2篇
  • 英语学习 82篇
  • 概念信息 50篇
  • SAP释疑 21篇
  • 程序人生 ABAPer 1330篇
  • C、C++ 4篇
  • Java开发 19篇
  • Office Teco 43篇
  • SAP ABAP 353篇
  • ABAP Table 25篇
  • SAP 586篇
  • Delphi 4篇
  • J2EE(JSP 55篇
  • Dreamweaver... 4篇
  • 会计基础资料 110篇
  • SAP SD 192篇
  • SAP PP 181篇
  • SAP MM 343篇
  • SAP FICO 364篇
  • SAP HR 人力资源管理 22篇
  • SAP QM 11篇
  • SAP WM 5篇
  • SAP Basis 104篇
  • BI+BW+BO仓库管理 24篇
  • CRM&SRM 11篇
  • Database 相关 100篇
  • SAP TMS 6篇
  • OA 39篇
  • 电商 40篇
  • Webservice 30篇
  • SAP Hana 11篇
  • XI/PI 交换架构 11篇
  • SAP PM 工厂维护 11篇
  • SAP PS 项目管理 8篇
  • 保健人生 21篇
  • App 21篇
  • Mes/Sfc 1篇
  • Groovy 7篇
  • Power Query 53篇
  • Power Pivot 1篇
  • Power Map 10篇
  • Power View 5篇
  • Power BI 1篇
  • ABAP小技巧 12篇
  • LSMW 15篇
  • Idoc 2篇
  • 帆软BI&数据建模 23篇
  • SAP Fiori 1篇
  • ETL 4篇
  • 职场技能 1篇
  • Excel公式入门 1篇
  • 财务思维 5篇
  • SAP PM 20篇
  • PHP 2篇

最新评论

  • 【转载】ABAP CDS

    小 明: 写的非常详细,是一篇优质博客,干货满满,让我有了全新的认识,感谢博主分享,让我学到了很多,支持支持。欢迎大佬来我这参观~

  • 【FI】总账余额表和总账明细表不一致问题

    XxxYCFL: 我们也遇到这个问题了,后来有想出解决办法吗?

  • 8、Power Query-合并查询详解

    felixtomat: 可以用条件列合并全外部合并后的列,pq编辑器-添加列-条件列-if列名值=null,then输出另外一列的值,else输出该列的值。就可以把2列合并成一列没有null值的新列,把旧的2列删除就可以了

  • 45、Power Query-缺少功能区选项卡

    Gu_mio: 您好,我也遇到这个问题,请问您解决了吗?

  • SAP财务管控 财务总监背后的“管理大师” PDF下载

    ERPYH: 剑客老师,没想到2024年我还能下载,怒赞

大家在看

  • 【MySQL连接器(Python)指南】01-MySQL连接器(Python)简介 746
  • 苹果微信如何双开多开 102
  • 用C++解决编程题目:奥运奖牌计数
  • 怀疑你的Linux服务器被入侵了?快来排查一下吧
  • 苹果微信如何双开多开 87

最新文章

  • 【转载】ABAP CDS
  • 【FI】SAP固定资产“与时间相关的管理”页面调整异常处理
  • 【ABAP】SAP外向交货单取消拣配数量实现
2024年6篇
2023年18篇
2022年66篇
2021年155篇
2020年144篇
2019年185篇
2018年310篇
2017年811篇
2016年1228篇
2015年778篇
2014年94篇
2013年335篇
2012年477篇
2011年546篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源公司起名字大全免费查询渣了暴君后我死遁了白色月光演员表刚出生宝宝起什么名碧桂园老板妖孽小仙医陆言漫画老师400字优秀作文丛林神庙网上转帐起名七画吉祥的字美女丝袜鲜花批发店起名年轻的女教师适合用来起名字有哪些诗词2022年起名免费饭店起名大全涟漪效应如何起小名刚出生怎么男孩起名白羊座本月运势新番动漫网咨询公司起什么名字的好龙字起名广告公司起名字先进集体事迹材料公司起名网周易打分校园奴隶契约拐点是什么意思大摩基金名典免费起名测试网淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化