python中的断言(assert语句)
作者:GrofChen 发布时间:2022-05-21 12:04:56
python断言assert语句
assert语句的格式是【assert 表达式,返回数据】,当表达式为False时则触发AssertionError异常
try:
n=input("请输入一个数字:")
assert n.isdigit(),"只能输入数字"
print("你输入的是:",n)
except Exception as ex:
print("发现错误:",ex)
assert:python断言报错语句
assert用于判断一个表达式,在表达式结果为 False 的时候触发异常。若表达式结果为True,则不做任何反应。
代码示例1:
In[1]中 assert 2>1 判断为True,所以可以继续执行下面的程序。
In[2]中 assert 1>2 判断为False,所以报错AssertionError,程序中断。
1.设置assert报错语句
python也支持自己设置AssertionError的提示语句。格式为:
assert + 空格 + 要判断语句,“报错语句”
代码示例2:
设置AssertionError的报错提示语句为“常数比较大小出错”,在执行这条语句报错时候就可以很快知道bug出在哪。
实际应用的小例子:assert判断文件是否存在。
import os
path_txt = "test.txt"
assert os.path.exists(path_txt), "Not found text.txt"
程序路径中没有test.txt文件,因此会报错:
Traceback (most recent call last):
File "F:/PycharmProjects/test_assert.py", line 3, in <module>
assert os.path.exists(path_txt), "Not found text.txt"
AssertionError: Not found text.txt
2.assert a,b
还有一种格式是 assert a,b
表示判断表达式 a ,如果为 False,则输出表达式 b 的 值。
代码示例3:
在报错提示 AssertionError 的后面输出了 a 的值 1.2
代码示例4:
在报错提示 AssertionError 的后面输出了 type(a) :<class ‘float’>
总结:assert语句可以帮助程序员设置报错提醒,及时中止程序,找到bug。
来源:https://blog.csdn.net/GrofChen/article/details/92798153


猜你喜欢
- 相信很多人在使用正则表达式的时候都会遇到如下的语句:通过查阅正则表达式的API文档可以了解到正则表达式的语法知识:很多小伙伴就会产生疑问为什
- monfs :我想知道javascript是否可以实现这样的功能来改变本地的IP地址,例如我本地设置的IP地址是192.168.0.1,我想
- 想要实现自定义标签和过滤器需要进行准备工作:准备(必需)工作:1 在某个app下创建一个名为templatetags(必需,且包
- 本文实例讲述了python中的lambda表达式用法。分享给大家供大家参考,具体如下:这里来为大家介绍一下lambda函数。lambda 函
- 本文实例讲述了Python实现针对给定字符串寻找最长非重复子串的方法。分享给大家供大家参考,具体如下:问题:给定一个字符串,寻找其中最长的重
- 算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。
- 如下所示:# -*- coding:utf8 -*-import osimport shutilimport numpy as npimpo
- python下os模块强大的重命名方法renames详解 在python中有很多强大的模块,其中我们经常要使用的就是OS模块,OS
- 一、基于json模块的存储、读取数据names_writer.pyimport jsonnames = ['joker',&
- get方法代码实现# coding:utf-8import jsonfrom urlparse import parse_qsfrom ws
- MySql授权用户权限如何设置首先:去 mysql 库中查看 root 用户的权限select * from user where user
- Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提
- 使用sql语句删除数据库中重复记录的两个方法如下:方法一declare @max integer,@id in
- 题目:请求出任意区间[a,b]的所有素数,简单考虑实用性这道题看起来应该很easy是吧,但任意区间(这个问题有没get 到)Afanty的分
- 前言这篇文章抓哟讲解了关于如何实现在MySQL中创建带有特殊字符的数据库名称,这里的特殊字符包含:!@#$%^方法如下使用反引号`将数据库名
- 游戏规则用pygame动画实现神庙逃亡类似的小游戏,当玩家移动的时候躲避 * ,如果 * 命中玩家或者名字龙都会减速,玩家躲避 * 使更多的 * 打
- 如何通过PHP实现Des加密算法代码实例注:php7以上不支持了,因为php7去掉了某些函数, 另外变量的{}要改为[]<?phpcl
- django的表单系统,分2种基于django.forms.Form的所有表单类的父类基于django.forms.ModelForm,可以
- 有两个服务器,装了两个数据库,一个是主的,一个是备用的,下面的的功能就将主数据库的数据库,实时同步到备份数据库上,使他们的数据内容,基本上保
- 历时半年,我独自一人完成了一个局级单位的管理信息系统,共发布BETA版29次,正式版本3次。ASP+ORACLE环境,285个ASP文件,功