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获取服务器信息的最简单实现方法
Mar 05 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
python实现对csv文件的列的内容读取
Jul 04 Python
python 3.7.0 下pillow安装方法
Aug 27 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python 爬取学信网登录页面的例子
Aug 13 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 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
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
浅谈JavaScript函数的四种存在形态
2016/06/08 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
详解node和ES6的模块导出与导入
2020/02/19 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
Python中的rjust()方法使用详解
2015/05/19 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
python实现的生成word文档功能示例
2019/08/23 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
Python如何读取、写入JSON数据
2020/07/28 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
房屋买卖委托书格式范本格式
2014/10/13 职场文书
用电申请报告范文
2015/05/18 职场文书
党支部对转正的意见
2015/06/02 职场文书
新生儿未入户证明
2015/06/23 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
图神经网络GNN算法
2022/05/11 Python