python3学习之路 -- 4.9)迭代器

"""
1. for 变量 in 可迭代:
    pass
可迭代:str,list,tuple,dic,set,open()
可迭代的数据类型都会提供一个迭代器,这个迭代器会将数据类型中的数据逐一的拿到

2. 获取迭代器的2种方案:
    1. iter() 内置函数可以直接拿到迭代器
    2. __iter__ 特殊方法(用的不多) it = "呵呵哒".__iter__()
3. 从迭代器中拿到数据:
    1. next() 内置函数
    2. __iter__()   it = "呵呵哒".__next__()

#模拟for循环的工作原理:
s = "我是数据"
it = s.__iter__()  #拿到迭代器
while True:
    try:
        data = it.__next__()
        print(data)  #for循环的循环体
    except StopIteration:
        break
print(123456)

*** 总结:迭代器统一了所有不同数据类型的遍历工作

4. 迭代器本身是可以被迭代的
s = "我是数据"
item = s.__iter__()
for i in item:
    print(i)

5. 迭代器本身特性
    5.1 只能向前,不能反复拿数据
    5.2 特别省内存
    5.3 惰性机制(迭代器一旦创建好,只有访问next的时候才访问)
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值