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 time模块用法实例详解
Sep 11 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
python使用PyQt5的简单方法
Feb 27 Python
python实现银联支付和支付宝支付接入
May 07 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
Python实现朴素贝叶斯的学习与分类过程解析
Aug 24 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
JavaScript中的setMilliseconds()方法使用详解
2015/06/11 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
javascript实现延时显示提示框效果
2017/06/01 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
Python 中@property的用法详解
2020/01/15 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
Python3监控疫情的完整代码
2020/02/20 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
如何利用cmp命令比较文件
2016/04/11 面试题
新驾驶员个人自我评价
2014/01/03 职场文书
室内趣味活动方案
2014/08/24 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
学习保证书
2015/01/17 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
音乐会主持人开场白
2015/05/28 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android