python基础知识(15)-迭代对象

1、迭代对象

# coding=UTF8
from collections.abc import Iterable

# 判断一个对象是否为可迭代对象
print(isinstance('abc', Iterable))
print(isinstance({1, 2, 3}, Iterable))
print(isinstance(1024, Iterable))
print('------------------------------------------------')

for i in 'Hello':
    print(i)
print('------------------------------------------------')


def reserve(data):
    for i in range(len(data)-1, -1, -1):
        yield data[i]


for char in reserve('hello'):
    print(char)

输出结果:
在这里插入图片描述

2、自定义迭代器

# coding=UTF8
# 迭代器需要具有 __iter__() 和 __next__() 两个方法
class MyIterator:
    def __init__(self):
        self.s = '程序之间'
        self.i = 0

    def __iter__(self):  # 返回迭代器对象本身
        return self

    def __next__(self):  # 返回下一项数据
        if self.i < 4:
            n = self.s[self.i]
            self.i += 1
            return n
        else:
            raise StopIteration


mi = iter(MyIterator())
# print(MyIterator().i)
for i in mi:
    print(i)

输出结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值