一、装饰器 不改变函数的源代码和调用方式给函数添加新功能 本质上就是一个函数 返回值为函数名 二、生成器 不占用内存,运行快快 通过yelid来做一个生成器 三、迭代器 可以通过next()函数调用实现