python assert
下面的是来自python help document的说明:
Assert statements are a convenient way to insert debugging assertions into a program:
assert语句是一种插入调试断点到程序的一种便捷的方式。
assert语句的使用格式
assert expression
这个语句是等价于下面的个句式:
if __debug__: if not expression: raise AssertionError
assert也可以用于多个表达式的断言
assert expression1, expression2
我自己写的一个关于质数判定的assert使用示例
# -*- coding: UTF-8 -*- def isPrime(n): """This function return a number is a prime or not""" assert n >= 2, "输入的数字不正确"
# 这一行不满足条件,将声明(assert)错误,停止运行 from math import sqrt for i in range(2, int(sqrt(n))+1): if n % i == 0: return False return True print isPrime(1)
运行结果:
Traceback (most recent call last):
File "E:\python\exercise\url1\src\cn\ouy\__init__.py", line 10, in <module>
print isPrime(1)
File "E:\python\exercise\url1\src\cn\ouy\__init__.py", line 4, in isPrime
assert n >= 2, "输入的数字不正确"
AssertionError: 输入的数字不正确
如果把上面的程序最后一行改为:
print isPrime(2)
再运行,结果输出是 True
assert使用起来还是很方便的,可以避免不必要的未知错误。