python 闭包函数

tech2024-06-26  72

闭包函数

概念

在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。—— 维基百科

非闭包

def read_a(): a = '变量' print(a) read_a()

正常函数调用过程

a变量随着函数结束,就被内存回收了。

闭包实例

def read_b(): b = '变量' print('外部'+b) def inner(): print('内部' + b) return inner f = read_b() f()

而闭包函数,内部函数引用了外部变量

所以read_b(),在执行完之后,b变量还是被持久化在内存。

闭包在装饰器中使用较多

def login(func): def check(*args, **kwargs): print('校验登录') ret = func(*args, **kwargs) return ret return check
最新回复(0)