python中的断言assert

一. 断言的引进
1.什么是断言

断言是作为一种调试工具被发明出来的,用来检查那些“代码写对了就肯定成立”的条件。使用assert断言是学习python 一个非常好的习惯,python assert 断言 句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要 assert 断言的帮助。本文主要是讲 assert 断言的基础知识。

2.raise抛出异常

raise的语法格式如下:

raise [Exception [, args [, traceback]]]

a=10
b=20
def c():
    if a<b:  #条件为真时,执行下面的代码
        raise Exception('a比b小')
c()
	

或者

     if age < 18:
         raise Exception('未满18不能看电影')

语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

一个异常可以是一个字符串,类或对象。 Python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。

  1. 断言的作用
    python assert 断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。

例如:

# defining the function definition
def divide(num1, num2):
#如果说num2是-1,判断为假,就执行引号后面的语句
   assert num2 > 0 , "Divisor cannot be zero"
   return num1/num2
# calling the divide function
a1 = divide(12,3)
# print the quotient
print(a1)
# this will give the assertion error
a2 = divide(12,0)
print(a2)

即:当条件不满足时,就会抛出 AssertionError 异常

3.差别:
raise是条件为 true 正常执行
assert是条件为 true 正常执行(不执行括号里面的东西),条件为 false 触发异常(即执行括号里面的内容)

  1. 断言和异常

用一句话来概括断言的使用场景和与异常的区别:
检查先验条件使用断言,检查后验条件使用异常

相比于 assert 语句只能抛出 AssertionError ,使用异常可以抛出更细致的错误,方便上层代码针对不同错误执行不同的逻辑。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想做程序猿的员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值