Python教程

Python闭包

本文主要是介绍Python闭包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

作用域

def change_msg():
    msg = 'yes'
    def changer():
        msg = 'no'
    changer()
    print(msg)
change_msg()
# yes

函数外部不可访问局部变量

 

嵌套函数

def print_msg():
    msg = 'OK'
    
    def printer():
        print(msg)
    printer()
print_msg()
# ok

在一个函数内部定义函数被称为嵌套函数

 

闭包

def adder(x):
    def wrapper(y):
        return x+y
    return wrapper

adder5 = adder(5)
adder5(2)
adder5(6)

此时adder函数将嵌套函数wrapper返回

首先设置x为5 然后依次传入 y = 2、6

 

闭包的用处

1.闭包执行完成后,依然能保持当前的运行环境

2.通过改变外作用域的局部变量可以得到不同的结果

这篇关于Python闭包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!