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