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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
Python创建系统目录的方法
Mar 11 Python
深入Python函数编程的一些特性
Apr 13 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
Python之两种模式的生产者消费者模型详解
Oct 26 Python
详解python Todo清单实战
Nov 01 Python
django框架中间件原理与用法详解
Dec 10 Python
TensorFlow内存管理bfc算法实例
Feb 03 Python
分布式全文检索引擎ElasticSearch原理及使用实例
Nov 14 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
浅谈matplotlib默认字体设置探索
Feb 03 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
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
php header函数的常用http头设置
2015/06/25 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
javascript从定义到执行 你不知道的那些事
2016/01/04 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
JavaScript仿微博输入框效果(案例分析)
2016/12/06 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
Python列表对象实现原理详解
2019/07/01 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
Python devel安装失败问题解决方案
2020/06/09 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
成教自我鉴定
2013/10/27 职场文书
优秀实习生感言
2014/03/01 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
卫生巾广告词
2014/03/18 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
实习协议书范本
2014/04/22 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
常用的Python代码调试工具总结
2021/06/23 Python
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技