__ Python 中的闭包 _ _ 魔法函数
原文:https://www . geesforgeks . org/ _ closure _ -python 中的神奇函数/
Python 中几乎所有的东西都是一个对象,同样函数也是一个对象,所有的函数对象都有一个闭包 __ 属性。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)
输出:
(<0x7f 34 ba 2725 E0 处的单元:0x7f34bde02720 处的 int 对象>)
3
在上面的例子中,嵌套函数 power 具有与之相关联的 __closure_ _ 属性,并且它返回一组单元格对象。单元格 _ 内容属性返回值 3 ,因为它是在单元格对象内关闭的。
版权属于:月萌API www.moonapi.com,转载请注明出处