python之路 裝飾器

2021-08-04 08:48:00 字數 637 閱讀 5968

def

login1

(login_type):

print('login type', login_type)

defauth1

(*args):

print('處理過程1')

defauth2

(*args):

print('處理過程2')

return auth2

return auth1

@login1('qq') # home = login1('qq')()

defhome

(): print('inner home')

defindex

(): print('inner index')

defshopping

(): print('inner shopping')

home()

print—>:

login type qq

處理過程1

處理過程2

在python中有@這種語法糖為我們提供一種類似於**的方式來擴充套件我們的程式,在python中函式也是變數,所以我們可以返回乙個函式名,當需要呼叫這個函式的時候只需要在函式名後面加上()即可。

python之路 裝飾器

1.1什麼是裝飾器 裝飾器是由函式去生成的,用於裝飾某個函式或方法或類,他可以讓這個函式在執行之前或者執行之後做一些操作 先定義乙個函式 func def func arg print arg func hello world 執行結果為列印 hello world 現在在執行func 函式前後執行...

python之路 裝飾器

python裡面的動態 存在的意義 在不破壞原有的函式和原有函式的呼叫基礎上,給函式新增新的功能 fn是目標函式.def inner args,kwargs 為了目標函式的傳參 在執行目標函式之前.ret fn args,kwargs 呼叫目標函式,ret是目標函式的返回值 在執行目標函式之後.re...

python之路(7)裝飾器

前言 裝飾器 為函式新增附屬功能,本質為函式 原則 不修改被修飾函式的源 不修改被修飾函式的呼叫方式 裝飾器 高階函式 函式巢狀 閉包 定義下面函式 def cal l res 0 for i in l time.sleep 0.1 res 1return res 想要實現檢測函式的執行時間 imp...