Python迭代器生成器

Posted hklol

tags:

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

迭代器 iterator

# 只要是能被for循环的数据类型 就一定拥有__iter__方法
# 迭代器多了的方法
print(set(dir([].__iter__()))-set(dir([])))
print([1,2,'s'].__iter__().__length_hint__()) # 元素个数
print(l.__iter__().__next__()) # 一个个的取值
# 迭代器协议 -- 内部含有__next__()和__iter__()两个方法
# 可迭代协议 -- 只要含有__iter__()就是可迭代的
# 一个可迭代类型执行了__iter__()之后的返回值就是一个迭代器
from collections.abc import Iterable
from collections.abc import Iterator
print(isinstance([],Iterable))
print(isinstance([],Iterator))

生成器 generator

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

python:可迭代对象,迭代器,生成器函数,生成器的解析举例代码说明

Python概念之装饰器迭代器生成器

python函数:迭代器和生成器

Python3 迭代器与生成器

Python的高级特性(切片,迭代,生成器,迭代器)

Python---迭代器,生成器,列表推导式