sunny0 2020-02-27
闭包(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)