python|python迭代器

迭代器的用法在python中普遍而且统一。for语句在容器对象中调用iter()。该函数返yige回一个定义了next()方法的迭代器对象,它在容器中逐一访问元素。没有后续元素时,next()抛出一个StopIteration异常通知for语句循环结束。
字符串、元组、列表都可用来创建迭代器,迭代器只往前不后退。
我们可以通过这个机制,来给我们自己的类添加迭代器行为:

#添加迭代器行为,从后向前迭代
class BackWard:
    def __init__(self, data):
        self.data = data
        self.len = len(data)
    def __iter__(self):
        return self
    def __next__(self):
        if self.len < 0:
            raise StopIteration
        self.len = self.len - 1
        return self.data[self.len]


string = "ilovemoney"
back = BackWard(string)
for n in back:
    print(n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值