Función mágica __cierre__ en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *