python中关于迭代器的使用

发布时间:2025-01-13 03:48

C++学习STL容器时,理解如何使用迭代器 #生活技巧# #工作学习技巧# #编程语言学习路径#

最新推荐文章于 2024-11-27 22:08:53 发布

慌逃 于 2018-10-17 21:23:35 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

主要分析在类中使用迭代器

首先iter函数有两种形式

iter(iterable) -> iterator

iter(callable, sentinel) -> iterator

从对象中获取迭代器。在第一种形式中,参数必须提供它自己的迭代器,或者是一个序列。

在第二种形式中,调用callable,直到它返回标记。

仔细理解下面两段代码的差别也许会有所体会

class cat():

def __init__(self,name,age):

self.__name=name

self.__age=age

self.info=[self.__name,self.__age]

self.index=-1

def next(self):

if (len(self.info)-1)==self.index:

raise StopIteration

self.index+=1

return self.info[self.index]

if __name__=="__main__":

c1=cat("小猫",12)

for it in iter(c1.next,1):

print(it)

class cat():

def __init__(self,name,age):

self.__name=name

self.__age=age

self.info=[self.__name,self.__age]

self.index=-1

def __iter__(self):

print("iter 调用了名字 年龄")

print(type(iter(self.__next__,1)))

return iter(self.__next__,1)

def __next__(self):

if (len(self.info)-1)==self.index:

raise StopIteration

self.index+=1

return self.info[self.index]

if __name__=="__main__":

c1=cat("小猫",12)

print(type(iter(c1)))

for it in iter(c1):

print(it)

iter()函数有两个参数 

理解

当只写第一个参数时,该参数应该是一个含有__iter__函数的对象,且该__iter__函数必须是返回一个<class 'callable_iterator'>的对象

当写第二个参数时,第一个参数对象是一个next方法,此时iter函数使用对象的next方法生成一个迭代器

网址:python中关于迭代器的使用 https://www.yuejiaxmz.com/news/view/703040

相关内容

python中使用
Python中关于coding=utf
使用Python开发基于Python的虚拟助手
基于Python编写简单实用的日志装饰器
Python中sort和sorted函数用法解析
如何使用python编程解决生活中的问题
python基础===Python 代码优化常见技巧
在python中查看关键字、需要在解释器中执行
Python打造的智能家居神器:Home Assistant
python求和1到n平方

随便看看