Revelación del cierre: una explicación simplificada
En el ámbito de la programación, los cierres a menudo surgen como un concepto desconcertante. Este artículo pretende desmitificar estas enigmáticas entidades, desenredar su esencia e iluminar su utilidad, específicamente dentro del ecosistema Python.
¿Qué se esconde debajo?
Un cierre, tal como Pertenece a Python, es una función extraordinaria que lleva consigo el superpoder de "recordar" el entorno en el que nació. Esto significa que cuando se invoca un cierre, tiene acceso a las variables y datos que prevalecían en su inicio, incluso si esos elementos han desaparecido del alcance.
Implicaciones prácticas y uso
La capacidad de un cierre de "congelar" su entorno abre un sinfín de posibilidades:
Profundizando con un ejemplo
Considere el siguiente fragmento de código Python:
def make_counter():
i = 0
def counter():
nonlocal i
i = 1
return i
return counter
Aquí, make_counter genera un contador de funciones que está adornado con el poder de cierre. Esta función, al invocarse, incrementa la variable interna i, preservando su valor a pesar de la ausencia de acceso directo al alcance de la función adjunta.
Cuando creamos instancias múltiples de contador (como se ve en c1 y c2), cada una La instancia opera en su propia variable i privada. La salida de c1() y c2() será distinta e independiente, mostrando la naturaleza encapsuladora del cierre.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3