首先来看下 w3schools 的解释
Example
Test if a condition returns True:
x = "hello" #if condition returns True, then nothing happens: assert x == "hello" #if condition returns False, AssertionError is raised: assert x == "goodbye"
Definition and Usage
The
assert
keyword is used when debugging code.The
assert
keyword lets you test if a condition in your code returns True, if not, the program will raise an AssertionError.You can write a message to be written if the code returns False, check the example below.
More Examples
Example
Write a message if the condition is False:
x = "hello" #if condition returns False, AssertionError is raised: assert x == "goodbye", "x should be 'hello'"
帮助那些英语不好的 python 学习者翻译一下
示例
测试一个条件的返回值是否为真
x = "hello"
#if condition returns True, then nothing happens:
assert x == "hello"
#if condition returns False, AssertionError is raised:
assert x == "goodbye"
定义和用法:
当调试代码的时候,会使用 assert
关键字。
assert
关键字可以允许你测试你代码中的一个条件判断的返回值是否返回 True
,如果不是的话,程序将会抛出一个AssertionError
。
你可以写一条用来在条件返回假时打印的信息,测试下面的示例代码:
更多示例
示例
如果条件为假,输出一条信息
x = "hello"
#if condition returns False, AssertionError is raised:
assert x == "goodbye", "x should be 'hello'"
然后我们看下菜鸟教程的解释:
Python3 assert(断言)
Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。
语法格式如下:
assert expression
等价于:
if not expression: raise AssertionError
assert 后面也可以紧跟参数:
assert expression [, arguments]
等价于:
if not expression: raise AssertionError(arguments)
以下为 assert 使用实例:
>>> assert True # 条件为 true 正常执行 >>> assert False # 条件为 false 触发异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>> assert 1==1 # 条件为 true 正常执行 >>> assert 1==2 # 条件为 false 触发异常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError >>> assert 1==2, '1 不等于 2' Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError: 1 不等于 2 >>>
以下实例判断当前系统是否为 Linux,如果不满足条件则直接触发异常,不必执行接下来的代码:
实例
import sys assert ('linux' in sys.platform), "该代码只能在 Linux 下执行" # 接下来要执行的代码
更多示例:
# 检查传入的参数是否符合要求
def log(val:'str'):
assert isinstance(val, str), 'val is not str'
print(val)