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系列之教你如何根据图片生成字符画
May 23 Python
Python简单日志处理类分享
Feb 14 Python
在Python的Django框架中加载模版的方法
Jul 16 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
Python实现Linux监控的方法
May 16 Python
详解python中的模块及包导入
Aug 30 Python
python turtle 绘制太极图的实例
Dec 18 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
Python中Permission denied的解决方案
Apr 02 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 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对二维数组按指定键值key排序示例代码
2013/11/26 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
python实现弹窗祝福效果
2019/04/07 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
python Selenium 库的使用技巧
2020/10/16 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
生物制药毕业生自荐信
2013/10/16 职场文书
英文简历自荐信范文
2013/12/11 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
软环境建设心得体会
2014/09/09 职场文书
三好生演讲稿
2014/09/12 职场文书
婚前保证书范文
2015/02/28 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
欧元符号 €
2022/02/17 杂记
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技