迭代器和迭代对象 生成器 推导式

# iterable   》》》》》   。迭代器__iter__
re = range(5).__iter__()
print(re)
# <range_iterator object at 0x034A0FE0>   生成迭代器
print(re.__next__())
print(re.__next__())
print(re.__next__())
print(re.__next__())
print(re.__next__())

# 可迭代对象
# 迭代器
re = range(1,10)
ru = re.__iter__()#
print(ru)#   转换成迭代器
print(ru.__next__())# 1
print(ru.__next__())# 2
print(ru.__next__())# 3
#
# for i in iterable:
#     pass
#  for 循环迭代是怎么做到的
#  会把iterable  调用_iter__()  转换成iterator  然后又调用__next__() 函数获取元素



# 推导式
re = [i for i in range(1,10)]
# 生成器
re = (i for i in range(1,10))
re.__next__()                   # 开始取元素
re.__next__()
re.__next__()
re.__next__()
re.__next__()
re.__next__()
re.__next__()
re.__next__()


for i in re:
    print(i)

# iterable 可迭代对象
# iterator  迭代器
# generator  生成器

 

posted @ 2020-07-17 15:12  XuanchenLi  阅读(99)  评论(0编辑  收藏  举报