進階特性
生成器
讀取生成器元素的兩種方式:
•g.next()
•for循環讀取; (生成器實質上是可疊代對象);
•清單生成式(清單生成式是Python 内置的非常簡單卻強大的可以用來建立 list的生成式), 當生成時元素即列印, 會占用記憶體;
[i for i in range(100)]
Fibonacci數列:
1, 1,2, 3, 5,8, 13, 21...
# 生成 fib 數列的函數, x 代表最終生成的數列元素個數;
python中兩值交換
# 先構造右邊的元組(y,x),即(4,3);
# 然後将元組的值依次賦給x,y;
yield關鍵字
例1
例2
生成器實戰應用: 實作生産者消費者模型(有無緩沖區)
•無緩沖區
•有緩沖區
生成器實戰應用: 迷你聊天機器人
# 函數中 yield , 代表調用函數, 傳回值為生成器;

本文轉自 無緣 51CTO部落格,原文連結:http://blog.51cto.com/13352594/2060883