Python assert断言函数

Python assert断言函数及用法

Python 中assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句。它用于判断某个表达式的值,如果值为真,则继续执行;反之,Python 解释器会报 AssertionError 错误

assert 语法结构可以为:
assert + expression
等价于:
if 表达式==True:
    程序继续执行输出结果
else:
    程序报 AssertionError 错误


assert 语法结构也可以为(带有参数):
assert + expression [, arguments]
等价于:
if expression==True:
else:
    程序报 AssertionError(arguments)错误
  • assert 会使程序崩溃

那我们为什么还要用。与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃,这有利于我们对程序排错,从而提高我们程序的健壮性。
故assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具。

  • 例如:
math = int(input())
assert ( 0 <= math <= 100 )
print("程序继续执行输出结果!", math)
 #断言函数判断math是否位于正常范围内assert 0 <= math <= 100#只有当 math 位于 [0,100]范围内,程序才会继续执行print("程序继续执行输出结果!", math)
#等价于if else语句
import math
math = int(input())
if 0 <= math <= 100 :
    print(" 程序继续执行输出结果!")
else:
    print("程序报 AssertionError 错误!")

输出结果:


 1. 66

程序继续执行输出结果! 66

 2. 66

 程序继续执行输出结果!

再次执行该程序,输入122:超出了正常范围就直接报AssertionError 错误


 1. 122

Traceback (most recent call last):
  File "D:/PycharmProjects/untitled1/min.py", line 11, in <module>
    assert ( 0 <= math <= 100 )
AssertionError

 2.  122
程序报 AssertionError 错误!

从上面可以看到,当 assert 语句后的表达式值为真时,程序继续执行;反之,程序停止执行,并报 AssertionError 错误。

你可能感兴趣的:(新手学python,python)