前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python--高级特性

Python--高级特性

作者头像
py3study
发布2020-01-11 21:17:42
4300
发布2020-01-11 21:17:42
举报
文章被收录于专栏:python3python3

高级特性

生成器

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

•g.next()

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

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

 [i for i in range(100)]

blob.png
blob.png
blob.png
blob.png
blob.png
blob.png

Fibonacci数列:

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

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

blob.png
blob.png

python中两值交换

blob.png
blob.png

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

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

yield关键字

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

例1

blob.png
blob.png

例2

blob.png
blob.png

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

•无缓冲区

blob.png
blob.png
blob.png
blob.png

•有缓冲区

blob.png
blob.png
blob.png
blob.png

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

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

blob.png
blob.png

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

blob.png
blob.png
blob.png
blob.png
blob.png
blob.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档