為什麼要使用裝飾器?
在不改變原函式功能的情況,為了新增新的功能 我們可以在函式執行前後給函式新增新的功能
1defouter(func):2#
fun()等於原f1函式
3def
inner():
4print('
ccccc')
5 r=func()
6print('
dddd')
7returnr8
return
inner
9@outer10#
@outer代表執行了2個步驟:1.將f1作為引數執行outer函式,2.新函式f1=inner()
11def
f1():
12print('
很複雜'
)13 r=f1()
14print
(r)15
#輸出:ccccc
16#
很複雜17
#
dddd
18#
none
兩個裝飾器的作用
defouter_1(func):
def inner(*args,**kwargs):
print('
aaaa')
r=func(*args,**kwargs)
print('
bbbb')
return
r
return
inner
defouter(func):
def inner(*args,**kwargs):
print('
ccccc')
r=func(*args,**kwargs)
print('
dddd')
return
r
return
inner
@outer_1
@outer
deff1(a1,a2):
print('
很複雜'
)
return a1+a2
r=f1(2,4)
(r)#
輸出:aaaa
ccccc
很複雜dddd
bbbb
6
python 裝飾器的用法
先從乙個小例子開始,然後逐步引出裝飾器的作用。def name name james print my name is format name name 輸出結果為 my name is james.如果此時想在列印 my name is.之前加上打招呼的語句,且不能修改name 函式,就可以使用裝...
python函式裝飾器的用法
一 什麼是裝飾器 用來給其他固定函式增加其他功能的一種函式。裝飾器的實現是函式裡面巢狀函式,讓其他函式在不需要做任何 改動的前提下增加額外功能。裝飾器需要傳遞乙個函式,返回值也是乙個函式物件 二 裝飾器的應用舉例 1.需求 使用者登陸驗證的裝飾器,如果使用者登陸成功,則執行被裝飾的函式,如果登陸失敗...
python函式裝飾器 的用法
是python中的乙個語法糖,decorator表示宣告乙個函式裝飾器,這條宣告語句中,decorator通過 被宣告為了函式裝飾器,其作用是對緊接著定義的函式進行進一步的裝飾,並返回與被裝飾函式同名的函式。decorator用法規則 1 裝飾器函式decorator需要先定義 2 當要裝飾乙個函式...