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中
相关推荐
ctlover7 小时前
Streamlit 框架
python
ι:8 小时前
MATLAB 与 Python 搭建无人机地面站:优势、劣势与选型逻辑
python·matlab·无人机
这个DBA有点耶8 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
船厂电气自动化ai大模型8 小时前
AI大模型与数学 第32课 函数凹凸性与二阶导数:拐点求解、凹凸区间计算(10道二阶导数计算题)
数据结构·人工智能·python·深度学习·算法
jufeng13078 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 7 篇】
python·ai agent·权限系统
梦想很大很大8 小时前
如果有一个本地优先的 Workflow 工具,你们团队会愿意用吗?
python·agent·workflow
测试运维日常笔记8 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
像风一样自由20208 小时前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh
用户8356290780519 小时前
Python 自动化 Word 文本框处理:创建、定位、填充内容与管理
后端·python
雾时之林9 小时前
Linux----cron定时服务
linux·运维·服务器