函数(三)闭包函数与装饰器
闭包函数
1 定义
闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用
def outter():
x = 1
def inner():
print(x)
return inner
f = outter()
def f2():
x = 2
f()
f2()
2 两种为函数传参的方式
(1)使用参数的形式
def func(x):
print(x)
func(1)
func(1)
(2)包给函数
def outter(x):
def inner():
print(x)
return inner
f = outter(1)
f()
f()
装饰器
1 定义
实质: 是一个函数
参数:是你要装饰的函数名(并非函数调用)
返回:是装饰完的函数名(也非函数调用)
作用:为已经存在的对象添加额外的功能
特点:不需要对对象做任何的代码上的变动