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简单实现enum功能的方法
Apr 25 Python
python中关于for循环的碎碎念
Jun 30 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 Python
Python绘制3D图形
May 03 Python
Python查看微信撤回消息代码
Jun 07 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
python用列表生成式写嵌套循环的方法
Nov 08 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
Python 实现使用空值进行赋值 None
Mar 12 Python
django 取消csrf限制的实例
Mar 13 Python
python 实现超级玛丽游戏
Nov 25 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
Dec 17 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执行速度全攻略(上)
2006/10/09 PHP
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
javascript,php获取函数参数对象的代码
2011/02/03 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
Thinkphp整合阿里云OSS图片上传实例代码
2019/04/28 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
js中getter和setter用法实例分析
2018/08/14 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
python 字符串格式化代码
2013/03/17 Python
对python中的装包与解包实例详解
2019/08/24 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python-split()函数实例用法讲解
2020/12/18 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
智能旅行箱:Horizn Studios
2018/04/30 全球购物
办理信用卡工作证明
2014/01/11 职场文书
趣味体育活动方案
2014/02/08 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
爱的教育观后感
2015/06/17 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python