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 相关文章推荐
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
Python中easy_install 和 pip 的安装及使用
Jun 05 Python
Python实现自动登录百度空间的方法
Jun 10 Python
对python的文件内注释 help注释方法
May 23 Python
Django框架搭建的简易图书信息网站案例
May 25 Python
Python如何实现强制数据类型转换
Nov 22 Python
Python实现图像的垂直投影示例
Jan 17 Python
Python configparser模块操作代码实例
Jun 08 Python
Python异常处理机制结构实例解析
Jul 23 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
用Python提取PDF表格的方法
Apr 11 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读取纯真ip数据库使用示例
2014/01/26 PHP
php微信开发之谷歌测距
2018/06/14 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
Python多分支if语句的使用
2020/09/03 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
高中毕业自我鉴定
2013/12/22 职场文书
中英文求职信范文
2014/01/27 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
幼儿教师研修感言
2014/02/12 职场文书
中文教师求职信
2014/02/22 职场文书
党员入党表决心的话
2014/03/11 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android
nginx lua 操作 mysql
2022/05/15 Servers