1. 程式人生 > >Python基礎-11-叠代器/生成器

Python基礎-11-叠代器/生成器

表達 res sof soft nbsp one -s tex __next__

可叠代對象:可聽過調用__iter__方法,轉化成有next() 方法的對象稱為可叠代對象

叠代器:可通過next()方法調用,最後會拋出stopIteration異常的對象

生成器:1.列表生成器:列表解析[]變成()就是生成器表達式 eg:g = (x*x for x in range(10))

   2.函數生成器:帶yield

    3.生成器只能用一次

生成器調用方式:__next__(),next(),send()

#send()調用函數生成器例子
def test():
  print(開始啦!!!)
  first = yield 1
  print(第一次
,first) yield 2 print(第二次) t = test() res = t.__next__() #相當於next(t) print(res) t.send(None) #將None傳遞給yield再賦值給first 輸出結果如下: 開始啦!!! 1 第一次 None

Python基礎-11-叠代器/生成器