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還支援並行...