python裝飾器 深度加工(三分鐘讀懂)

2021-10-10 02:13:23 字數 1141 閱讀 2756

def

fn1(x)

:def

bread

(*args ,

**kwargs)

:print

('上層麵包'

) y = x(

*args ,

**kwargs)

print

('下層麵包'

)return y

return bread # 返回新函式

deffn2

(q):

defvegetables

(*args ,

**kwargs)

:print

('上層蔬菜'

) z = q(

*args ,

**kwargs)

print

('下層蔬菜'

)return z

return vegetables # 返回新函式

# 加了這個裝飾器 就相當於 fn3 = fn1(fn3)

@fn1 # 新增麵包

deffn3()

:# 新增雞肉

print

("雞肉"

)# 加了這個裝飾器 就相當於 fn3 = fn1(fn2)

@fn1 # 新增麵包

@fn2 # 新增蔬菜

deffn4()

:# 新增牛肉

print

('牛肉'

)fn3(

)print

("-"*20

,'第乙份餐點已經做好,請取餐。'

)fn4(

)print

("-"*20

,'第二份餐點已經做好,請取餐。'

)

上層麵包

上層蔬菜

牛肉下層蔬菜

下層麵包--

----

----

----

----

-- 第乙份餐點已經做好,請取餐。

上層麵包

雞肉下層麵包--

----

----

----

----

-- 第二份餐點已經做好,請取餐。

三分鐘搞定Python中的裝飾器

python的裝飾器是python的特色高階功能之一,言簡意賅得說,其作用是在不改變其原有函式和類的定義的基礎上,給他們增添新的功能。裝飾器存在的意義是什麼呢?我們知道,在python中函式可以呼叫,類可以繼承,為何要必須保證不改變函式和類的定義,就使得函式有了新的功能呢?其實很好解釋。提高 的簡潔...

python中裝飾器之有參裝飾器(三)

在呼叫無參裝飾器時,不需要在外層傳遞引數。適用於例如 為某個函式增加統計執行時間功能 為某個函式執行前增加登入認證功能 在呼叫有參裝飾器時,對其傳入乙個或多個引數。適用於例如 驗證使用者型別 def user auth user group def def inner args,kwargs if ...

三分鐘搞定python基礎

庫的匯入和新增 在機器學習和人工智慧為主導的工業4.0時代,python猶如一股龍捲風襲捲著一切。python作為一門解釋性的物件導向的語言雖然在運算速度上有不足,但是相比於程式運算速度,程式專案開發速度更為重要,而且在在這個裝備氪金時代,運算速度的缺憾完全可以拿硬體來補,何況python還支援並行...