1. 程式人生 > >Python之路-生成器

Python之路-生成器

send 保持 常數 表達式 使用 實現 方法 div 並行運算

列表生成式:[f(x) for i in range(k)]>>>其中k是常數,f(x)是一個關於i的常數 使用函數實現一個生成器:
def fib(max): n,a,b = 0,0,1 while n<max: yield b #關鍵 yield具有保持值,並通過生成器的__next__()方法返回 a,b = b,a+b n += 1 return "error" #返回錯誤信息
生成器的並行運算:生成器通過send(val)方法將值val發送給yield,並將val值賦給yield表達式 賦值:a,b = b,a+b 等價於 t = (b,a+b) a = t[0] b = t[1]
  • 生成器只有在調用時才會生成相應的數據
  • 生成器只記錄當前位置
  • 生成器只有__next__()一個方法

Python之路-生成器