El verdadero significado y uso de los decoradores en python

Cierre:

El cierre es una forma muy práctica de escribir en python, que permite a los usuarios llamar a variables de funciones fuera de la función en la función, haciendo que la variable resida en la memoria.

Función de cierre:

La entrada es una función y la salida también es una función.

La forma en que se escriben los decoradores es azúcar sintáctica para los cierres de python.

Preguntas de resultados de llamadas que a menudo se entrevistan en entrevistas:

# ---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()

El decorador realza la primera vez que se llama a la función decorada.

  • tiempo de mejora? antes de la primera llamada a
  • ¿Número de mejoras? mejorar solo una vez

Análisis lógico de llamadas del código anterior:

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

func()

Supongo que te gusta

Origin blog.csdn.net/wtl1992/article/details/132142178
Recomendado
Clasificación