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 21 Python
简单介绍Python中的几种数据类型
Jan 02 Python
Python内建数据结构详解
Feb 03 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
Django集成搜索引擎Elasticserach的方法示例
Jun 04 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
python3 selenium自动化 frame表单嵌套的切换方法
Aug 23 Python
pytorch 求网络模型参数实例
Dec 30 Python
Python文件操作基础流程解析
Mar 19 Python
python 实现弹球游戏的示例代码
Nov 17 Python
python lambda的使用详解
Feb 26 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
收集的PHP中与数组相关的函数
2007/03/22 PHP
php 字符串函数收集
2010/03/29 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
php HTML无刷新提交表单
2016/04/05 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
python看某个模块的版本方法
2018/10/16 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
python assert的用处示例详解
2019/04/01 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
python实现udp聊天窗口
2020/03/31 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
Python如何批量生成和调用变量
2020/11/21 Python
护士见习期自我鉴定
2014/02/08 职场文书
市场总经理岗位职责
2014/04/11 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
论群众路线学习笔记
2014/11/06 职场文书
民事和解协议书格式
2014/11/29 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
明确岗位职责
2015/02/14 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers