迭代:操作一堆数据,数据之间都是有关联的
Iterable: 可迭代对象. 内部包含__iter__()函数
Iterator: 迭代器. 内部包含__iter__() 同时包含__next__().
迭代器的特点:
1. 节省内存.
2. 惰性机制
3. 不能反复, 只能向下执⾏.
iterable 可迭代的范围,str, list, tuple, dict, set, open(), range()
dir() 可以查看某数据中可以执行的方法
s="aqmas"
print(dir(s)) # 在字符串中发现了_iter_,没有_next_
a=123
print(dir(a)) #在int中没有_iter_,没有_next_
list0=[2,4,6,3]
print(dir(list0)) #在list中也有_iter_
总结:所有包含了_iter_的东西都是可以使用for循环。都可以进行迭代
迭代器,在for循环内部,调用了_iter_(),访问_iter_()可以得到迭代器。
list1=[2,3,4,5]
it=list1._iter_()
while 1:
print(it._next_())