高级特性

生成器

读取生成器元素的两种方式:

•g.next()

•for循环读取; (生成器实质上是可迭代对象);

列表生成式(列表生成式是Python 内置的非常简单却强大的可以用来创建 list的生成式), 当生成时元素即打印, 会占用内存;

 [i for i in range(100)]

 Python--高级特性

Python--高级特性 

 Python--高级特性

Fibonacci数列:

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

# 生成 fib 数列的函数, x 代表最终生成的数列元素个数;

 Python--高级特性

python中两值交换

Python--高级特性 

# 先构造右边的元组(y,x),(4,3);

# 然后将元组的值依次赋给x,y;

 

yield关键字

# 生成 fib 数列的函数, x 代表最终生成的数列元素个数;

1

Python--高级特性 

 

2

Python--高级特性 

生成器实战应用: 实现生产者消费者模型(有无缓冲区)

无缓冲区

Python--高级特性 

Python--高级特性 

 

有缓冲区

Python--高级特性 

Python--高级特性 

生成器实战应用: 迷你聊天机器人

# 函数中 yield , 代表调用函数, 返回值为生成器;

Python--高级特性 

# 函数中 yield , 代表调用函数, 返回值为生成器;

Python--高级特性 

Python--高级特性Python--高级特性 

Python--高级特性 

 

 

 

 


转载于:https://blog.51cto.com/13352594/2060883

相关文章: