Python--高級特性

高級特性

生成器

讀取生成器元素的兩種方式:

•g.next()

•for循環讀取; (生成器實質上是可迭代對象);

列表生成式(列表生成式是Python 內置的非常簡單卻強大的可以用來創建 list的生成式), 當生成時元素即打印, 會佔用內存;

 [i for i in range(100)]

 blob.png

blob.png 

 blob.png

Fibonacci數列:

1, 1,2, 3, 5,8, 13, 21...

# 生成 fib 數列的函數, x 代表最終生成的數列元素個數;

 blob.png

python中兩值交換

blob.png 

# 先構造右邊的元組(y,x),(4,3);

# 然後將元組的值依次賦給x,y;

 

yield關鍵字

# 生成 fib 數列的函數, x 代表最終生成的數列元素個數;

1

blob.png 

 

2

blob.png 

生成器實戰應用: 實現生產者消費者模型(有無緩衝區)

無緩衝區

blob.png 

blob.png 

 

有緩衝區

blob.png 

blob.png 

生成器實戰應用: 迷你聊天機器人

# 函數中 yield , 代表調用函數, 返回值爲生成器;

blob.png 

# 函數中 yield , 代表調用函數, 返回值爲生成器;

blob.png 

blob.png 

blob.png 

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章