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使用起来还是很方便的,可以避免不必要的未知错误。

posted @ 2016-11-29 17:20  偶然相遇  阅读(211)  评论(0编辑  收藏  举报