Python中的可迭代对象和迭代器

xiaoxiao2025-08-21  52

#isinstance() 函数来判断一个对象是否是一个已知的类型 #1.Iterable(可迭代的,用来判断是否是可迭代的对象) #2.Iterator(迭代器,用来判断是否是迭代器) #可迭代的对象: #可以直接使用for循环遍历的对象,成为可迭代的对象, #常见的可迭代的对象有:list、tuple、dict、set、str以及生成器。 #更加专业的判断一个对象是否是可迭代的对象是:这个对象有一个__iter__方法, #并且这个方法会返回一个迭代器对象,这种对象就叫做可迭代的对象。 from collections import Iterable,Iterator a = [1,2,3,4] # print(isinstance(a,Iterable)) # class Myrange(object): # def __next__(self): # pass # def __iter__(self): # pass # a = Myrange() # print(isinstance(a,Iterator)) #用于判断a是否是迭代器对象 class MyRangeIterator(object): def __init__(self,start,end): self.index = start self.end = end def __iter__(self): return self def __next__(self): if self.index < self.end: temp = self.index self.index += 1 return temp else: raise StopIteration() class MyRange(object): """MyRange()是可迭代对象""" def __init__(self,start,end): self.start = start self.end = end def __iter__(self): return MyRangeIterator(self.start,self.end) a = MyRange(1,10) for x in a: print(x)
转载请注明原文地址: https://www.6miu.com/read-5035072.html

最新回复(0)