# 争对不能索引取值的对象
# d={"name":"chenhao","age":18,"both":2018}
# # 第一步先把可迭代对象转换成迭代器
# res=iter(d)
# while True: # 第二部循环取值
# try:
# print(next(res))
# except StopIteration: #捕捉异常
# break
#
#
# # 函数生成器的使用
# def func():
# print("真不错")
# yield 89890
# print("提供好的")
# yield 423424
#
# x=func() #x就是生成器
# print(x) #返回的是一个生成器<generator object func at 0x00000234B2F70120>
# print(next(x))
# print(next(x))
# 得到
# <generator object func at 0x000002354A100120>
# 真不错
# 89890
# 提供好的
# 423424
# 生成器的应用
def my_range(start,stop,step=1):
while start<stop:
yield start
start+=step
g=my_range(1,10,2)
print(next(g))
print(next(g))
print(next(g))
print(next(g))
print(next(g))
# 自定义迭代器:生成器
# def func():
# start=0
# while True:
# yield start
# start+=1
#
# res=func()
# print(next(res))
# print(next(res))
# print(next(res))
# print(next(res))