Casi todo en Python es un objeto , de manera similar, la función también es un objeto y todos los objetos de función tienen un atributo __cierre__ . __closure__ es una función dunder/magic, es decir, métodos que tienen dos guiones bajos como prefijo y sufijo en el nombre del método
El atributo __closure__ de una función de cierre devuelve una tupla de objetos de celda. Este objeto de celda también tiene un atributo llamado cell_contents, que devuelve el contenido de la celda.
Sintaxis:
closure_function.__closure__
Ejemplo:
Python
# this is a nested function def gfg(raise_power_to): def power(number): return number ** raise_power_to return power raise_power_to_3 = gfg(3) print(raise_power_to_3.__closure__) print(raise_power_to_3.__closure__[0].cell_contents)
Producción:
(<celda en 0x7f34ba2725e0: objeto int en 0x7f34bde02720>,)
3
En el ejemplo anterior, la función anidada power tiene el atributo __closure_ _ asociado y devuelve una tupla de objetos de celda. El atributo cell_contents devuelve el valor 3 como si estuviera cerrado dentro del objeto de la celda.
Publicación traducida automáticamente
Artículo escrito por ashisholism y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA