Python闭包是一种特殊的函数结构,它可以让一个内部函数访问和修改外部函数的局部变量,即使外部函数已经结束。闭包有以下几个特点:
下面闭包的例子定义了一个外部函数add,它接受一个参数x,并定义了一个内部函数addx,它接受一个参数y,并返回x+y。外部函数的返回值是内部函数的引用。这样,每次调用add时,都会创建一个新的闭包,它记住了传入的x值,并可以在后续调用addx时使用。 # 闭包的例子def add(x): def addx(y): return x + y return addx# 创建两个不同的闭包add5 = add(5) # x = 5add10 = add(10) # x = 10# 调用闭包print(add5(3)) # 输出 8print(add10(3)) # 输出 13 如果想要修改闭包中的外部变量,可以使用nonlocal关键字来声明。这样就可以在内部函数中改变外部变量的值。例如:
|
|