python學習(裝飾器)

2021-09-25 22:09:01 字數 410 閱讀 5158

裝飾器就是閉包的具體使用,可以不改變原來的函式**,對其功能進行擴充。

import time

def outer(func):

def inner(num):

t1=time.time()

func(num)

t2=time.time()

print('時間為:',t2-t1)

return inner

@outer

def fun1(num):

for i in range(num):

print(i)

fun1(10000)

這就是乙個裝飾器,outer函式裝飾了fun1函式,此時func函式就相當於fun1函式。就實現了不改動函式源**,擴充套件了計算執行時間的功能。

python學習 裝飾器

def w1 func def inner print 正在驗證 func 閉包 return inner def f1 print f1 def f2 print f2 f1 w1 f1 呼叫的 f1 發生改變 f1 在沒有修改 f1 引用的前提下,完成對 f1 的擴充套件 執行結果 在很多情況下...

python裝飾器學習

1 裝飾器的本質 閉包函式 2 裝飾器的作用 在不改變原函式的呼叫方式情況下,給原函式增加其他功能。3 開發原則 開放封閉原則。4 語法 裝飾器函式名 閉包函式 巢狀函式,內部函式呼叫外部函式的變數。def outer arg1 def inner print arg1 return inner i...

Python學習 裝飾器

裝飾器作為乙個函式,可以為其他函式在不修改原函式 的前提下新增新的功能 裝飾器的返回值是乙個函式物件。它經常用於有切面需求的場景,比如 插入日誌 效能測試 事務處理 快取 許可權校驗等。裝飾器,可以讓我們抽離出大量與函式功能本身無關的相同 並在裝飾器函式中使用 一 作用域 二 高階函式 三 閉包 l...