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计算最小优先级队列代码分享
Dec 18 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
Python实现识别手写数字大纲
Jan 29 Python
python学生信息管理系统
Mar 13 Python
Python中循环引用(import)失败的解决方法
Apr 22 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
Python numpy数组转置与轴变换
Nov 15 Python
Python 如何实现访问者模式
Jul 28 Python
python单向链表实例详解
May 25 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 output buffering缓存及程序缓存深入解析
2013/07/15 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
jQuery实现带水平滑杆的焦点图动画插件
2016/03/08 Javascript
requirejs + vue 项目搭建详解
2017/06/16 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
基于JavaScript获取base64图片大小
2019/10/18 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
python用户管理系统
2018/03/13 Python
python仿抖音表白神器
2019/04/08 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
学生的自我鉴定范文
2013/10/24 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
环境建设实施方案
2014/03/14 职场文书
个人贷款担保书
2014/04/01 职场文书
家长建议怎么写
2014/05/15 职场文书
2014年电教工作总结
2014/12/19 职场文书
2015年库房工作总结
2015/04/30 职场文书
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript