python装饰器
一.装饰器
开放: 对功能扩展开放
封闭: 对修改代码封闭
通用装饰器语法: def wrapper(fn): def inner(*args, **kwargs): # 聚合 在目标函数之前 ret = fn(*arg, **kwargs) # 打散 在目标函数之后 return ret return inner @wrapper def func(): pass func()
带参数的装饰器 def wrapper_out(参数): def wrapper(fn): def inner(*args, **kwargs): # 聚合 在目标函数之前 ret = fn(*arg, **kwargs) # 打散 在目标函数之后 return ret return inner return wrapper @wrapper_out(实参) # 执行的时候. 先执行函数的调用然后使用返回值和前面的@组合成装饰器语法糖 def func(): pass
一. 生成器
什么是生成器. 生成器实质就是迭代器. 在python中有三种方式来获取生成器: