python 错误处理 assert详解


Posted in Python onApril 20, 2020

assert是断言的意思,解释为:我断定这个程序执行之后或者之前会有这样的结果,如果不是,那就扔出一个错误。

语法:

assert expression [, arguments]
assert 表达式 [, 参数]

举例:

def foo(s):
 n = int(s)
 assert n != 0, 'n is zero!'
 return 10 / n

def main():
 foo('0')

>Traceback (most recent call last):
 ...
AssertionError: n is zero!

assert的意思是,表达式n != 0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出错。

如果断言失败,assert语句本身就会抛出AssertionError:

启动Python解释器时可以用-O参数来关闭assert

补充知识:python中assertion异常

python中的assert是一种最简单的异常机制

assert的基本语法是:

"assert" expression1 ["," expression2]

expression1用于判断生成布尔值,当expression1为假的时候,则抛出异常,[]中的内容可选,即用户可以选择异常的提示值:

>>>a=23
>>>assert a==23
>>>a=a-1
>>>assert a==23
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AssertionError
>>>assert a==23 , "error1"
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AssertionError: error1

以上这篇python 错误处理 assert详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python操作字符串之rindex()方法的使用
May 19 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
Python实现字典去除重复的方法示例
Jul 31 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
Nov 30 Python
Python实现学生成绩管理系统
Apr 05 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
python基于plotly实现画饼状图代码实例
Dec 16 Python
Python list运算操作代码实例解析
Jan 20 Python
python实现根据给定坐标点生成多边形mask的例子
Feb 18 Python
详解Python 3.10 中的新功能和变化
Apr 28 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 #Python
在ipython notebook中使用argparse方式
Apr 20 #Python
Python绘制全球疫情变化地图的实例代码
Apr 20 #Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 #Python
python实现小程序推送页面收录脚本
Apr 20 #Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 #Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 #Python
You might like
Window下PHP三种运行方式图文详解
2013/06/11 PHP
iOS10推送通知开发教程
2016/09/19 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
2015/02/20 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
Python json格式化打印实现过程解析
2020/07/21 Python
python 贪心算法的实现
2020/09/18 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
2018/08/30 HTML / CSS
美国婚礼装饰和活动用品批发供应商:Event Decor Direct
2018/10/12 全球购物
幼师求职自荐信范文
2014/01/26 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
民政局个人整改措施
2014/09/24 职场文书
2014年电教工作总结
2014/12/19 职场文书
教师个人培训总结
2015/02/11 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
教你使用pyinstaller打包Python教程
2021/05/27 Python
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL