可以从下面两代码来看,
if
def zero(s):
a = int(s)
if a > 0:
return a
zero(-2)
从上面的代码可以看出,a的值等于s=-2,不符合a>0,因此没有返回值,输出的结果是空的
assert
def zero(s):
a = int(s)
assert a > 0
return a
zero(-2)
跟上一串代码一样,a仍然小于0,这时候没有返回值,但是运行后会报错:
在我看来,assert可以用于测试中,在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行时崩溃,不如在出现错误条件时就崩溃。他会在发现不符合要求时及时反馈