1. 装饰器
是一个闭包,把一个函数当作参数传递,返回一个替代版的函数,本质上就是一个返回函数的函数
使用@符号将装饰器应用到函数
通用装饰器
def outer(func):
def inner(*args, **kwargs):
#添加修改的功能
print("&&&&&&&&&")
func(*args, **kwargs)
return inner
@outer #say=outer(say)
def say(name, age):
print()
2. 偏函数
#1
def int2(str, base=2):
return int(str,base)
print(int2("1011"))
#2 利用调用functools生成偏函数
import functools
int3=functools.partial(int, base=2)
print(int("111")) #int3和int2效果一样
3. 异常处理
当程序遇到问题时不让程序结束,而是越过错误继续向下执行。
- 处理错误的语句 try——except——else
No1. except 错误码匹配写法
try:
语句
except 错误码 as e:
语句1
except 错误码 as e:
语句2
except 错误码 as e:
语句3
...
else:
语句e
作用: 用来检测try语句块中的错误,从而让execpt语句捕获错误信息并处理
- try “语句”执行出错时,进入expect匹配第一个错误码,如果匹配上就执行对应语句;
- 如果没有错误码匹配,则错误提交到上一层的try语句,或者到程序的最上层;
- 如果try“语句”执行没有出现错误,有else的话执行else下的语句
No2. except不使用任何错误类型写法
try:
语句
except:
print("程序出现异常")
No3. except 带着多种异常
try:
语句
except (错误码1, 错误码2):
print("出现错误码1或错误码2")
- 处理错误的语句 try—except—finally
与try-except-else的区别是:无论是否try“语句”有错误,finally必须执行。例如用于文件操作,执行finally关闭文件。