Python断言

Python断言

  • [1 什么是Python断言](#1 什么是Python断言)
  • [2 使用场景](#2 使用场景)
  • [3 常用断言函数](#3 常用断言函数)

1 什么是Python断言

断言就是断定指定条件一定成立,若不成立则抛出异常。Python断言关键字为:assert,断言也可以理解为简单版的 if 语句,判断条件的值,若为True继续运行,否则停止运行并抛出AssertionError异常。语法格式如下:

assert 条件表达式

if 语句格式如下:

if not 条件表达式:

... raise AssertionError

2 使用场景

断言是为了让开发者知道程序发生异常了,主要应用于程序的调试和自检,不是为了处理错误,程序的bug还是要靠 try... except 解决。

以下示例,call_some函数中获得的列表元素个数必须是100个,否则程序就有问题,这种情况下就可以使用断言:

bash 复制代码
def some():
	my_list = []
	... ...
	return my_list

def call_some():
	"""调用 some 函数"""
	res = some()
	# 列表个数必须为100个
	assert len(res) == 100
	pass

3 常用断言函数

  • assertEqual(a,b,msg=msg):判断两个值是否相等
  • assertNotEqual(a,b,msg=msg):判断两个值是否不相等
  • assertTrue(a,msg=none):判断变量是否为 True
  • assertFalse(a,msg=none):判断变量是否为 False
  • assertIsNone(obj=''):判断 obj 是否为空
  • assertIsNotNone(obj=''):判断 obj 是否不为空
  • assertIn(item, list):判断item是否在list中
  • assertNotIn(item, list):判断item是否不在list中
相关推荐
谢景行^顾2 分钟前
numpy
开发语言·python·numpy
悟能不能悟5 分钟前
在TypeScript中 const xxx=(xx:any)=>{}为什么要加any
linux·git·typescript
上天夭9 分钟前
PyTorch的Dataloader模块解析
人工智能·pytorch·python
是一个Bug9 分钟前
Spring Boot 的全局异常处理器
spring boot·后端·python
dTTb12 分钟前
python元组和字典
python
敲代码的瓦龙15 分钟前
操作系统相关的一些问题总结
linux·c语言·开发语言
人工智能训练19 分钟前
Windows系统Docker中Xinference 集群无法启动的解决方法
linux·运维·服务器·windows·docker·容器·xinference
Full Stack Developme20 分钟前
Linux YUM、Docker 和源码编译
linux·运维·docker
小兔薯了22 分钟前
11.项目实战:fail2ban+firewalld
运维·服务器
曾几何时`33 分钟前
基于VM虚拟机 ubuntu使用主机代理
linux·服务器·ubuntu