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中
相关推荐
鸠摩智首席音效师9 分钟前
Linux /etc/nsswitch.conf 文件有什么作用 ?
linux
东城居士17 分钟前
理解pinctrl和gpio子系统驱动
linux·嵌入式系统
Ticnix18 分钟前
多租户 RAG:让每个用户只检索到自己的知识库
后端·python·agent
ID346107442020 分钟前
【课程设计】基于Spring Boot+Vue的游戏账号租赁系统的设计与实现-计算机毕设 附源码50345
javascript·vue.js·spring boot·python·node.js·php·课程设计
H_oRIZoN_24 分钟前
Linux入门DAY43 ARM 架构基础、寄存器、大小端、异常向量、交叉编译
linux·arm·linux应用编程
Ticnix32 分钟前
我删了 200 行 if-else,把决策逻辑全写进了 System Prompt
python·llm·agent
谢白羽32 分钟前
在4×B300用SGLang部署DeepSeek-V4.1 Flash优化实录
笔记·python·llm·llama·sglang
Y38153266234 分钟前
SERP 数据清洗实战:字段标准化、日期解析与去重键
开发语言·数据库·python·python数据库
ι:1 小时前
NUC12 Pro 安装 Ubuntu 24.04 LTS 详细教程
linux·windows·ubuntu·nuc
苏苏susuus1 小时前
核密度估计(KDE)与高斯核(概念分享)
人工智能·python·ocr