10.函数对象 与 闭包函数
【一】函数对象
Python中一切皆对象
-
可直接被引用
- 定义一个函数,用一个新的变量名来存,来调用
-
可作为元素被储存
- 功能字典中函数的地址
-
可作为参数传递给另一个函数
- 将函数的内存地址作为参数
-
函数的返回值可以是函数
- 直接将函数的内存地址返回
【二】闭包函数
1)闭包概念
指包含对自由变量的函数和对这些变量的引用环境组合
基于函数对象的概念,可将函数返回到任意位置去调用
2)闭包函数概念
内嵌函数对外部作用域由有引用的函数
函数被当作数据处理时,始终以自带的作用域为准
def outer():
def inner()
...
return inner
3)闭包函数的应用
装饰器
函数工厂模式
封装