1. 程式人生 > >Day12裝飾器

Day12裝飾器

1.裝飾器
什麼是裝飾器:裝飾器指的是為被裝飾物件新增新功能的工具

裝飾器本身可以是任意呼叫物件

被裝飾物件本身也可以是任意可呼叫物件

2.為何要用裝飾器:
開放封閉原則:
①對修改原始碼和呼叫方式是封閉的

②對擴充套件功能是開放的

裝飾器實現原則:
在不修改原始碼和呼叫方式的前提下,給物件新增功能

裝飾器的目的:
就是在遵循原則1和2的前提下為被裝飾物件新增新功能

語法糖:
@outter#foo = outter(foo)
def foo():
​ print("foo")

通用裝飾器
def outter(func):
def inner(*args,**kwargs):
res = func(*args,**kwargs)
return res
return inner