Le vrai sens et l'utilisation des décorateurs en python

Fermeture:

La fermeture est une manière très pratique d'écrire en python, qui permet aux utilisateurs d'appeler des variables de fonctions extérieures à la fonction dans la fonction, rendant la variable résidente en mémoire.

Fonction fermeture :

L'entrée est une fonction et la sortie est également une fonction.

La façon dont les décorateurs sont écrits est du sucre syntaxique pour les fermetures python.

Appelez les questions de résultat qui sont souvent interrogées dans les entretiens :

# ---encoding:utf-8---
# @Author  : CBAiotAigc
# @Email   :[email protected]
# @Site    : 
# @File    : 两个装饰器.py
# @Project : PythonUtils
# @Software: PyCharm
def wrapper1(func):
    print("set wrapper1")

    def inner_wrapper1(*args, **kwargs):
        print("进入inner_wrapper1")
        ret = func(*args, **kwargs)
        print("离开inner_wrapper1")
        return ret

    return inner_wrapper1


def wrapper2(func):
    print("set wrapper2")

    def inner_wrapper2(*args, **kwargs):
        print("进入inner_wrapper2")
        ret = func(*args, **kwargs)
        print("离开inner_wrapper2")
        return ret

    return inner_wrapper2


@wrapper1
@wrapper2
def func():
    print("func 函数调用")


if __name__ == '__main__':
    func()

Le décorateur améliore la première fois que la fonction décorée est appelée

  • Calendrier d'amélioration ? avant le premier appel à
  • Nombre d'améliorations ? améliorer une seule fois

Appelez l'analyse logique du code ci-dessus :

func = wrapper2(func)
func = wrapper1(func)

func()

Je suppose que tu aimes

Origine blog.csdn.net/wtl1992/article/details/132142178
conseillé
Classement