python断言assert

断言

断言assert一般使用做自动化测试,放在程序中的某些地方,如果断言被满足了,程序就会若无其事地继续运行下去,一旦不满足断言的要求(一般就是理想的程序执行效果)就会立即抛出异常AssertionError并且退出程序。
想起来,这比我们加if判断然后sys.exit()好多了,而且断言还会告诉你是哪里设置的断言没有被满足,就可以溯源。

使用

使用方法有好多高级的用法,在这里因为是初步了解,所以就简单了解一下。
assert 后面跟一个判断条件

a = 6
assert a > 7#断言

在这里插入图片描述
当然也可以把断言放在try语句中,使用except接住,这就有点像java里的throw了

try:
    a = 6
    assert a > 10
    print(a)
except AssertionError as e:
    print("NOT FILL")
    print(e)#e本身是没有什么东西的,只会打印出上一句
#NOT FILL  

下面这个用法就比较巧妙了,而且很棒。让断言先判断用户输入的是不是数字,如果不是就抛出异常,如果是就使用int()转换。这个我之前一直想的是,直接int()如果报错了就说明不是数字。

try:
    str = input("请输入一个数字:")
    
    assert str.isdigit()
    
    print(int(str)+10)
except AssertionError as e:
    print("您输入的不是数字")

所以断言既可以是程序运行到某一阶段某个变量应该有的值,也可以是检查用户给的参数的正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值