开放封闭原则 装饰器

对于函数内部是封闭的

@outer

1.执行outer函数,并且将其下面的函数名当作参数

2.将outer的返回值重新赋值给f1(相当于再定义一个f1,让f1=outer的返回值)

新f1函数=inner

原函数封装到其它函数里边

执行新的函数

只要函数应用装饰器,那么函数就被重新定义,重新定义为:装饰器的内层函数

image

发表回复