断言
Python 断言即 Python assert 语句,简单理解就是简易版的 if 语句,用于判断某个表达式的值,结果为 True,程序运行,否则,程序停止运行,抛出 AssertionError 错误。
一、语法格式:
1. 语法格式如下:
assert 表达式
2. 类比 if 语句:
if not 表达式:
raise AssertionError
3. 在 assert 表达式之后,可以增加一个参数 [, arguments],等价的 if 语句如下:
if not 表达式:
raise AssertionError(arguments)
二、用法:
断言是告知程序发生异常,若程序中一个潜在错误在编写程序时就能够被考虑到则不需要使用断言。
· 断言主要是为调试辅助而生,为的是程序自检,并不是为了处理错误。
三、用法示例:
def something():
"""该函数执行了很多操作"""
my_list = [] # 声明了一个空列表
# do something
return my_list
def func():
"""调用 something 函数,基于结果实现某些逻辑"""
ret = something()
assert len(ret) == 18, "列表元素数量不对"
# 完成某些操作
func()
四、使用断言应注意:
不要用断言验证用户的输入,因为 Python 通过命令行运行时, 如果增加 -o 标识,断言则被全局禁止了,所有验证都将丢失。
五、常用断言函数:
1. assertEqual(a, b, msg=None):判断两个值是否相等。
2. asserNotEqual(a, b, msg=None):判断两个值是否不相等。
3. assertTrue(a, msg=None):判断变量是否为True。
4. assertFalse(a, msg=None):判断变量是否为False。
5. assertIsNone(obj=''):判断变量是否为空。
6. assertIsNotNone(obj=''):判断变量是否不为空。
7. ……