Python教程

python 可迭代对象

本文主要是介绍python 可迭代对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python 可迭代对象

  • 可迭代对象关系 如何判断 Iterable 可迭代对象 Iterator 迭代器对象 from collections.abc import Iterable, Iterator print(instance([], Iterable)) 定义 Iterable包含Iterator; Iterable协议规定必须实现__iter__方法,并且返回Iterator; Iterator协议规定必须实现__iter__方法和__next__方法(python2实现next方法), __next__方法返回迭代器的下一个项目 两个自定义迭代器代码块 class Iterator: def __iter__(self): return self def __next__(self): return 1 class Iterator: def __iter__(self): yield self for … in … 迭代器遍历,原理是首先调用 iter() 内部调用__iter__返回Iterator,然后调用 next() 内部调用__next__,直到捕获到StopIteration异常 __getitem__ 当对象只有__getitem__方法时也可以进行for .. in ..遍历,next将进入__getitem__从0开始以下标递增的方式进行迭代 class Test: def __init__(self): self.a = [1, 2, 3] def __getitem__(self, item): print("item:", item) return self.a[item] t = Test() iter_t = iter(t) print(iter_t) next(iter_t) >> <iterator object at 0x00000000028399E8>
这篇关于python 可迭代对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!