python學習筆記 裝飾器

2021-10-06 21:50:00 字數 919 閱讀 2206

#裝飾器

概念:是乙個閉包,把乙個函式當作引數返回乙個替代版的函式,本質上是乙個返回函式的函式

def outer(f1): #呼叫函式

def inner(): #建立裝飾後的函式值

pass

return inner #返回乙個函式值

#簡單的裝飾器

**例子:

def f(): 建立乙個函式f

print(「你好!」)

def outer(f1): #呼叫函式

def inner(): #建立裝飾後的函式值

print("***********") #裝飾

f1()

return inner #返回乙個函式值

f2 = outer(f) #定義乙個變數接受返回的函式值

f2() #輸出

#使用@符號將修飾器應用到函式

@outer:代替f2 = outer(f) 的定義步驟

def outer(f1): #呼叫函式

def inner(): #建立裝飾後的函式值

print("***********") #裝飾

f1()

return inner #返回乙個函式值

f2 = outer(f)

#通用裝飾器

def outer(f1): #呼叫函式

def inner(*args,**kwargs): #建立裝飾後的函式值

#新增修改的功能

fi(*args,**kwargs)

return inner #返回乙個函式值

@outer

def say(name,age):

print(「my name is %s, i am %d years old」 % (name,age))

say(「maozi」,18) #呼叫函式

Python 學習筆記 裝飾器

裝飾器也是乙個函式 巢狀 用來裝飾某個函式,來看下面的 import time deftime count func def start time.time func end time.time print this funnction costs end start deftellhi print...

Python學習筆記 裝飾器

裝飾器 概念 是乙個閉包,把乙個函式當做引數返回乙個替代版的函式,本質上就是乙個返回函式的函式 簡單的裝飾器 def func1 print welcome to beijing def outer func def inner print func return inner f是函式func1的加...

Python裝飾器 學習筆記

python中一切皆物件,函式也可以當做引數傳遞 裝飾器接受函式當做引數,新增功能後返回乙個新函式的函式 python中裝飾器使用 import time deflog time func def log args,kwargs begin time.time res func args,kwarg...