python中的闭包
def outer(age):
def inner(name):
print(name, age)
return inner
demo = outer("17")
demo("zhangsan")
闭包就是外部函数中定义了一个内部函数,当外部函数返回内部函数(名)时,程序接收了内部函数的定义(此时并未被执行),当再次执行这个返回值时,这个被返回的函数才能被执行。
总结一下,创建一个闭包必须满足以下几点:
1.必须有一个内嵌函数
2.内嵌函数必须引用外部函数中的变量
3.外部函数的返回值必须是内嵌函数
闭包传递的是变量,而装饰器传递的是函数,除此之外没有任何区别,或者说装饰器是闭包的一种,它只是传递函数的闭包。
学完了闭包,我们再来总结一下python中的内部函数、闭包和装饰器
欢迎收看:如何自学人工智能