Python 多個裝飾器詳解

2021-10-04 16:56:05 字數 624 閱讀 1738

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

def add_qx(func):

print("正在執行add_qx裝飾器")

def wrarpp1():

print("執行了wrarpp1函式")

return func()

return wrarpp1

def add_xx(func):

#2.func指向 text函式

print("正在執行add_xx裝飾器")

def wrarpp2():

print("執行了wrarpp2函式")

return func()

return wrarpp2

@add_qx #3.相當於 text = add_qx(text) 原來右邊text是指向wrppp2函式的,

@add_xx # 1.相當於 text=add_xx(text) 此時text指向add_xx裡面wrarpp2函式

def text():

print("正在執行text函式")

python裝飾器 python 裝飾器詳解

def outer x def inner y return x y return inner print outer 6 5 11 如 所示,在outer函式內,又定義了乙個inner函式,並且inner函式又引用了外部函式outer的變數x,這就是乙個閉包了。在輸出時,outer 6 5 第乙個...

python裝飾器詳解 python裝飾器詳解

按照 python 的程式設計原則,當乙個函式被定義後,如要修改或擴充套件其功能應盡量避免直接修改函式定義的 段,否則該函式在其他地方被呼叫時將無法正常執行。因此,當需要修改或擴充套件已被定義的函式的功能而不希望直接修改其 時,可以使用裝飾器。先來看乙個簡單的例子 def func1 functio...

python合併多個裝飾器

import functools defmulti decorators args 合併多個裝飾器 越靠前的裝飾器就越靠近被裝飾的函式,執行的順序就越靠後 def inner func wrap functools.wraps func for decorator in args func deco...