# 元组推导式 # 元组不能修改和删除 # generator 生成器 listvar = [1,2,3,4] res = (i<<1 for i in listvar) print(res) # <generator object <genexpr> at 0x10330e250> print(type(res)) # <class 'generator'> from collections.abc import Iterator, Iterable print(isinstance(res, Iterator)) # True print(next(res)) # 2 print(next(res)) # 4 print(next(res)) # 6 print(next(res)) # 8 #Error : print(next(res)) # generator 与 for 搭配使用 # yield 有点像 return # 执行到yield这句话的时候会把这个值返回出去,会记住当前的位置 # 下次再次调用的时候会从上一次的位置向下走 # 格式 yield(3) 或 yield 3 res = (i<<1 for i in [1,2,3,4]) for i in range(2): print(next(res)) # 含有yield关键字的函数是生成器的函数 def example(): print('张宇童') yield 1 print('前沿技术博客') yield 2 # 初始化生成器函数 形成生成器对象 gen gen = example() res = next(gen) print(res) # 1 res = next(gen) print(res) # 2 # 配合for使用 generator函数 res = example() for i in range(2): next(res) # 张宇童 前沿技术博客 res = example() for i in res: print(i)
版权属于:
emer
文章声明:
本文版权内容属于《快乐小窝》转载请标明出处
评论一下?