扩充:
- 函数式编程(淡化)
- 函数只是一段可执行的代码,不可以实例化,并不是对象
- 一切皆对象、python 另外一个函数的参数,传递到另外的函数里;把一个函数当做是另一个函数的返回结果:
def a():
pass
print(type(a))
#>>><class 'function'>
步入正题:闭包=函数+环境变量(函数定义时候的环境变量,不能是全局变量)
闭包是函数式编程的一种
1、闭包的形式及使用
#闭包
def curve_pre():
b=25
def curve(x):#曲线
return b*x*x
return curve
#curve()在外部不可以直接调用
b=10
f=curve_pre()
print(f.__closure__)#__closure__内置函数存放闭包的环境变量信息,返回的是闭包
#>>>(<cell at 0x0261B750: int object at 0x6DF7BFC8>,)
print(f.__closure__[0].cell_contents)
#>>>25 输出环境变量的值
f(