python基础(三)闭包与装饰器
闭包(closure): 内嵌函数通过调用外部嵌套函数作用域内的变量,则这个内嵌函数就是闭包.
闭包必须满足三个条件:
- 必须有一个内嵌函数
- 内嵌函数必须引用外部嵌套函数中的变量
- 外部函数的返回值必须是内嵌函数
eg: def make_power(y): def fn(x): return x ** y return fn pow = make_power(2) print pow(5) #25 #声明pow时返回了函数fn并将2作为嵌套函数的参数传入 #闭包内嵌套函数传递参数时,参数保留
装饰器(decorators):是一个函数,主要作用为包装一个函数或类.包装的目的是在不改变函数名的情况下改变被包装对象的行为
eg: def priv_check(fn): def fx(name,x): print ('权限校验') fn(name,x) return fx @priv_check def save_money(name,x): print('存钱') @priv_check def withdraw(name,x): print('取钱') save_money('tiny',100) withdrwa('tim',50)
相关推荐
yogoma 2020-06-14
Andrewjdw 2020-05-27
LczPtr 2020-04-14
PythonMaker 2020-01-19
codeAB 2019-12-29
yuwinter 2020-10-14
归去来兮 2020-09-18
Ericbig 2020-07-19
chaigang 2020-06-27
jokerdby 2020-05-19
Kingonion 2020-04-23
ELEMENTS爱乐冬雨 2020-04-21
sunlizhen 2020-04-17
Livis的开发之路 2020-03-11
Airuio 2020-03-06