Python assert语句的简单使用示例


Posted in Python onJuly 28, 2019

写在前面

最近每日一更,我这菜鸡都有点儿不好意思了

简单介绍

简单用法是:

assert expression

让我们用程序来测试这个expression,如果expression相当于False,那么raise一个AssertionError出来。

即逻辑上等同于:

if not expression:
 raise AssertionError

简单看看这些例子:

>>> assert True
>>> assert False
Traceback (most recent call last):
 File "<pyshell#3>", line 1, in <module>
 assert False
AssertionError

>>> assert 1==1
>>> assert 1==0
Traceback (most recent call last):
 File "<pyshell#1>", line 1, in <module>
 assert 1==0
AssertionError

>>> assert [1, 2] # 非空列表值得注意一下,虽说也没个啥,哈哈
>>> assert not [1, 2]
Traceback (most recent call last):
 File "<ipython-input-48-eae410664122>", line 1, in <module>
 assert not [1, 2]
AssertionError

为assert断言语句添加异常参数

assert的异常参数,其实就是在断言表达式后添加字符串信息,一般用来解释断言。格式如下:

assert expression [, arguments]
assert 表达式 [, 参数]

举例请看之后的代码

一些重要的细节

老铁们可以试着运行一下以下代码段:

>>> assert None, 'None若作为布尔表达式,则相当于False'
>>> assert [], '空列表若作为布尔表达式,则相当于False'
>>> assert (), '空元组若作为布尔表达式,则相当于False'
>>> assert {}, '空字典若作为布尔表达式,则相当于False'
>>> assert set(), '空集合若作为布尔表达式,则相当于False'
>>> assert '', '空字符串若作为布尔表达式,则相当于False'

当然还有奇葩的numpy

>>> a = np.array([1, 2])
>>> assert a 
Traceback (most recent call last):

 File "<ipython-input-45-63e954d94e9b>", line 1, in <module>
 assert aa

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

是的,你没看错,哪里有numpy,哪里就有Use a.any() or a.all()......

最后,再试一试这俩吧:

>>> assert np.array([])
>>> assert np.array([[], []])

是的,只要是空的,甭管是几维的,都相当于False

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
更改Python命令行交互提示符的方法
Jan 14 Python
讲解Python中运算符使用时的优先级
May 14 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
Jan 29 Python
解决Python 中英文混输格式对齐的问题
Jul 16 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
python plotly画柱状图代码实例
Dec 13 Python
Pyorch之numpy与torch之间相互转换方式
Dec 31 Python
Python基于Tkinter编写crc校验工具
May 06 Python
python openssl模块安装及用法
Dec 06 Python
python的dict判断key是否存在的方法
Dec 09 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 #Python
解决Django Static内容不能加载显示的问题
Jul 28 #Python
基于Django静态资源部署404的解决方法
Jul 28 #Python
Python占用的内存优化教程
Jul 28 #Python
解决Django加载静态资源失败的问题
Jul 28 #Python
django之静态文件 django 2.0 在网页中显示图片的例子
Jul 28 #Python
python正则-re的用法详解
Jul 28 #Python
You might like
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
详解Javascript动态操作CSS
2014/12/08 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
js+html5实现侧滑页面效果
2017/07/15 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[00:32]10月24、25日 辉夜杯外卡赛附加赛开赛!
2015/10/23 DOTA
python发送邮件实例分享
2017/07/28 Python
python机器学习实现决策树
2019/11/11 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
医学检验专业大学生求职信
2013/11/18 职场文书
就业自荐信
2013/12/04 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
升职自我推荐信范文
2015/03/25 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python
微信小程序实现聊天室功能
2021/06/14 Javascript
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL