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监控网站运行异常并发送邮件的方法
Mar 13 Python
Python 实现链表实例代码
Apr 07 Python
利用python模拟实现POST请求提交图片的方法
Jul 25 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
python中(str,list,tuple)基础知识汇总
Feb 20 Python
使用TensorFlow实现二分类的方法示例
Feb 05 Python
Python脚本按照当前日期创建多级目录
Mar 01 Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
Django restful framework生成API文档过程详解
Nov 12 Python
Python anaconda安装库命令详解
Oct 16 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 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 header Content-Type类型小结
2011/07/03 PHP
fgetcvs在linux的问题
2012/01/15 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
jquery怎样实现ajax联动框(一)
2013/03/08 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
python字典序问题实例
2014/09/26 Python
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python实现方便使用的级联进度信息实例
2015/05/05 Python
python装饰器实例大详解
2017/10/25 Python
Python生成数字图片代码分享
2017/10/31 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
详解Python 循环嵌套
2020/07/09 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
地球一小时倡议书
2014/04/15 职场文书
目标责任书范本
2014/04/16 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android