迭代器与装饰器

Posted song-liang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器与装饰器相关的知识,希望对你有一定的参考价值。

e)    迭代器
Iterable(可迭代对象)  和  Iterator(迭代器) 主要区别是 :
凡是可以用 for 循环的 都是  Iterable(可迭代对象)  凡是需要通过next()函数获得值的可迭代对象都是 Iterator(迭代器)。

(所以生成器可以 被next()函数调用并不断返回下一个值的对象称为迭代器 ) (可以简单理解为生成器 就是 迭代器的可迭代对象)
# 一是集合数据类型,如list、tuple、dict、set、str等;
# 二是generator,包括生成器和带yield的generator function。

凡是可作用于for循环的对象都是Iterable类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

被next()函数调用并不断返回下一个值(直到没有数据时抛出StopIteration错误)的对象称为迭代器,即Iterator

装饰器
什么是装饰器(Decorator)?

  本质上:是一个返回函数的高阶函数。

生产上,什么时候用装饰器?

  当我们想要给一个函数func()增加某些功能,但又不希望修改func()函数的源代码的时候就需要用装饰器了。(在代码运行期间动态增加功能)

以上是关于迭代器与装饰器的主要内容,如果未能解决你的问题,请参考以下文章

Python 迭代器与生成器及装饰器

装饰器,迭代器与生成器

python基础-函数之装饰器迭代器与生成器

Day4 闭包装饰器decorator迭代器与生成器面向过程编程三元表达式列表解析与生成器表达式序列化与反序列化

day13迭代器与生成器

day4复习