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异常学习笔记
Feb 03 Python
python实现自动获取IP并发送到邮箱
Dec 26 Python
解决python中使用PYQT时中文乱码问题
Jun 17 Python
如何基于Python实现自动扫雷
Jan 06 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
Python列表倒序输出及其效率详解
Mar 04 Python
python实现引用其他路径包里面的模块
Mar 09 Python
django使用JWT保存用户登录信息
Apr 22 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 Python
ASP.NET Core中的配置详解
Feb 05 Python
django 认证类配置实现
Nov 11 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
屏蔽浏览器缓存另类方法
2006/10/09 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php发送post请求函数分享
2014/03/06 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
2017/05/03 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
Python3写入文件常用方法实例分析
2015/05/22 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
python常用运维脚本实例小结
2020/02/14 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
银行优秀员工事迹
2014/02/06 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
党建工作整改措施
2014/10/28 职场文书
党员自我评价范文2015
2015/03/03 职场文书
银行招聘自荐信
2015/03/06 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书