闭包是指在一个函数内部定义的函数,并且内部函数可以访问外部函数的局部变量。具体来说,闭包是由函数对象和其引用环境组合而成的实体。
闭包在Python中的使用场景如下:
示例代码如下:
def outer_func(x):
def inner_func(y):
return x + y
return inner_func
closure = outer_func(10)
print(closure(5)) # 输出15
示例代码如下:
def counter():
count = 0
def increment():
nonlocal count
count += 1
return count
return increment
counter1 = counter()
print(counter1()) # 输出1
print(counter1()) # 输出2
counter2 = counter()
print(counter2()) # 输出1
print(counter2()) # 输出2
通过闭包,每个counter实例都有自己独立的count变量,并且可以保持自己的状态。