1. 程式人生 > >Python三大器之裝飾器

Python三大器之裝飾器

裝飾器 - Decorator

python裝飾器就是用於拓展原來函式功能的一種函式,這個函式的特殊之處在於它的返回值也是一個函式,使用python裝飾器的好處就是在不用更改原函式的程式碼前提下給函式增加新的功能。

# 模擬一個需要新增的功能
def newFun():
    print("我是歡哥")
    
# 寫裝飾器
def outter(fun):
    def inner(*args,**kwargs):  #不定長引數
        newFun() #呼叫一個函式
        return fun(*args,**kwargs)
    return  inner #返回一個函式

@outter #新增裝飾器,給函式fun1,新增新功能,不改變原來的程式碼
def fun1(name,age,heigth):
    print(name,age,heigth)
    return "路見不平一聲吼"
    
#呼叫
f = fun1("劉歡",88,180)
print(f)

在這裡插入圖片描述

更多的裝飾器可參考:
https://blog.csdn.net/xiangxianghehe/article/details/77170585