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 相关文章推荐
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
python中的set实现不重复的排序原理
Jan 24 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 Python
python匿名函数用法实例分析
Aug 03 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
Flask框架路由和视图用法实例分析
Nov 07 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
Django使用channels + websocket打造在线聊天室
May 20 Python
Python实现生活常识解答机器人
Jun 28 Python
浅谈Python中的正则表达式
Jun 28 Python
python周期任务调度工具Schedule使用详解
Nov 23 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
我的论坛源代码(二)
2006/10/09 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
JQuery小知识
2010/10/15 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
jQuery实现防止提交按钮被双击的方法
2015/03/24 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
微信小程序radio组件使用详解
2018/01/31 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
Python with用法实例
2015/04/14 Python
浅谈MySQL中的触发器
2015/05/05 Python
Python表示矩阵的方法分析
2017/05/26 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python实现数据分析与建模
2019/07/11 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
一道SQL面试题
2012/12/31 面试题
运动会广播稿60字
2014/01/15 职场文书
节能标语大全
2014/06/21 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
基于Redission的分布式锁实战
2022/08/14 Redis