迭代

本文介绍了迭代的概念,探讨了迭代器的基本原理,包括如何通过Python内置函数iter()和next()来实现迭代过程,以及如何利用__iter__()和__next__()魔法方法自定义迭代器。

迭代:类似循环,每一次重复的过程被称为一次迭代的过程,而每一次迭代得到的结果将会用作下一次迭代的初始值。

迭代器:提供迭代方法的容器,比如列表,元组,字符串,字典,文件都是迭代器

一般for循环可以用来触发迭代

对于迭代,python提供了两个bif: iter()  next() ,同时有对应的两个 魔法方法,是着两个魔法方法实现了这两个bif。、

__iter__()   这个魔法方法是return self,因为它本身就是一个迭代器

__next__() 决定了迭代器的规则


使用iter()得到迭代器,使用next()得到下一个值,当iter()没值之后,python会抛出一个stopiteration的异常

 

while用来实现迭代器: 此处while和for是一样的.  for循环之所以不会抛出异常,是因为for能够自动调用enxt()函数,并探测stopIteration的异常是否会产生


迭代器的亮点是没有终点,可以考虑为其添加一个参数,控制它的范围  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值