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中
相关推荐
天下无敌笨笨熊几秒前
ES作为向量库研究
大数据·python·elasticsearch
数据知道9 分钟前
FastAPI项目:从零到一搭建一个网站导航系统
python·mysql·fastapi·python web·python项目
咸鱼の猫35 分钟前
用samba服务器将虚拟机的Ubuntu(磁盘)映射到本地电脑实现文件互传
linux·服务器·ubuntu
程序员爱钓鱼36 分钟前
Python 编程实战 · 进阶与职业发展:数据分析与 AI(Pandas、NumPy、Scikit-learn)
后端·python·trae
软件开发技术深度爱好者41 分钟前
Python库/包/模块管理工具
开发语言·python
wanhengidc43 分钟前
网站服务器具体是指什么
运维·服务器
q***428244 分钟前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
程序员爱钓鱼1 小时前
Python 编程实战 · 进阶与职业发展:Web 全栈(Django / FastAPI)
后端·python·trae
翼龙云_cloud1 小时前
阿里云渠道商:PolarDB如何进行快速恢复?
运维·服务器·阿里云·云计算
小年糕是糕手1 小时前
【C++】C++入门 -- inline、nullptr
linux·开发语言·jvm·数据结构·c++·算法·排序算法