📜  __closure__ Python中的魔术函数

📅  最后修改于: 2022-05-13 01:54:22.162000             🧑  作者: Mango

__closure__ Python中的魔术函数

Python中几乎所有东西都是一个对象,同样的函数也是一个对象,所有的函数对象都有一个__closure__属性。 __closure__ 是一个 dunder/magic函数,即在方法名称中有两个下划线作为前缀和后缀的方法

闭包一个函数对象,它记住封闭作用域中的值,即使它们不存在于内存中。闭包函数__closure__ 属性返回一个单元格对象的元组。这个单元格对象还有一个名为 cell_contents 的属性,它返回单元格的内容。

句法:

closure_function.__closure__

例子:

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)


输出:

在上面的例子中,嵌套函数power__closure__属性与之关联,它返回一个单元格对象的元组。 cell_contents属性返回值3 ,因为它在单元格对象内关闭。