python小笔记-装置器、偏函数、异常处理(断言)

装置器:

概念:就是一个闭包,把一个函数当做参数返回一个替代版的函数

本质:就是一个返回函数的函数

eg: def function1():

print(“sunck good”)

def outer(m):

print(“***”)

m()

function1 = outer(functiion1)     返回*** sunck good

 

通用装置器:

def outer(func):

def inner(*args,**kwargs)

#添加修饰的功能

func(*args,**kwargs)

return inner

 

偏函数

eg: print(int(“1010”,base = 2))

eg: import functools

int3 = functools.partial(int,base = 2)

print(int3(“1010”))     返回10

 

 

异常处理:

try...except...else

作用:用来检测try语句块中的错误,从而让except语句捕获错误信息并处理

 

格式:

try:

语句t

except 错误码 as  e:

语句1

except 错误码 as  e:

语句2

...

except 错误码 as  e:

语句n

else:

语句n+1  #else可有可无

逻辑:

当程序执行到try...except...else语句时

1、若当try“语句t”执行出现错误,会匹配第一个错误码,如果匹配上就执行对应的“语句”

2、若当try“语句t”执行出现错误,没哟匹配的异常,错误将会被提交到上一层的try语句,或者到程序的最上层

3、若当try“语句t”执行没有出现错误,执行else下的“语句n+1”

eg: try:

print(3/0)

except NameError as e:

print(“没有该变量”)

except ZeroDivisionError as e:

print(“除数为0”)     返回 除数为0

eg: try:

print(num)

except ZeroDivisionError as e:

print(“除数为0”)

except NameError as e:

print(“没有该变量”)     返回 没有该变量

 

使用except带有多种异常

eg: try:

pass

except (ZeroDivisionError ,NameError)as e:

print(“出现异常”)

 

一般使用except而不使用任何的错误类型

eg: try:

print(num)

except :

print(“程序出现异常”)     返回 程序出现异常

特殊:

  1. 错误其实是class(类)所有的错误都继承自BaseException,所以在捕获时,它捕获了该类型的错误,还把类一网打尽
  2. 跨越多层调用,任然能捕获到子类中的错误
  3. try..except...finally

格式:try:

语句t

except 错误码 as  e:

语句1

except 错误码 as  e:

语句2

...

except 错误码 as  e:

语句n

finally:

语句n+1  

作用:语句t无论是否有错误都将执行最后的语句n+1

 

断言:

assert()

eg: def func(num,div):

assert(div != 0),”div不能为0 ”

return num / div

print(10,0)    返回 报错AssertionError:div不能为0

print(10,0)    返回 5.0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值