# 生成器 # 在 Python 中,使用了 yield 的函数被称为生成器(generator)。 # 跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。 # 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。 # 生成器本质:迭代器 # 生成器不能像普通的列表一样,通过下标或者切片的方式去取 # 生成器只能通过 循环 或者__next__()(2.x中用next())方法去取。 def test_demo(): print("1111111111") yield ("A") # return "a" print("2222222222") yield ("b") print("333333333") yield ("c") print("4444444444") yield ("d") # # test_demo() # print(test_demo()) print(next(test_demo())) def long_(max): Long=[1] while True: yield(Long) if len(Long)>=max: break Long.append(0) Long=[Long[n-1]+Long[n] for n in range(len(Long))] for i in long_(7): print(i) # ge=(i*i for i in range(10)) print(type(ge)) for n in ge: print(n)
python 生成器
最新推荐文章于 2023-12-30 12:03:13 发布