相关文章推荐
睡不着的卡布奇诺  ·  Docker 安装 Python | 菜鸟教程·  2 年前    · 
道上混的消炎药  ·  python基础:通过end让输出结果显示在 ...·  2 年前    · 
温柔的毛衣  ·  对数据包修改参数_play ...·  2 年前    · 
率性的黄瓜  ·  Python内存问题:提示和技巧-51CTO ...·  2 年前    · 
调皮的小蝌蚪  ·  ElasticSearch 启动 ...·  2 年前    · 
Code  ›  Python协程演进过程开发者社区
python 协程 python协程
https://cloud.tencent.com/developer/article/1033574
文质彬彬的自行车
2 年前
作者头像
Python中文社区
0 篇文章

Python协程演进过程

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > Python中文社区 > Python协程演进过程

Python协程演进过程

作者头像
Python中文社区
发布 于 2018-01-31 17:31:18
555 0
发布 于 2018-01-31 17:31:18
举报

Milestone

协程相关的关键字和方法的引入:

Python 2.2(2001年)yield

Python 2.5(2006年) .send() .throw() .close()

Python 3.3(2012年) yield from Python 3.5(2015年)async await

Duck type

在面向对象的支持上,C++采用了多重继承等一系列C++风格的东西,Java是单继承+接口,JavaScript之前是Prototype,而Python采用了多继承+duck type,并用super来安全的初始化父类。而同样喜欢宣传自己优雅的设计的Ruby也是采用的Duck Type。

什么是Duck Type

当我看到一只鸟走路像鸭子,游泳像鸭子,叫声像鸭子,那我就把它叫做鸭子。(When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.)

简而言之就是,判断一个对象的类型不是看他爸爸是谁,而是他实现了什么方法。 举个例子:

>>> class Foo:
...     def __iter__(self):
...             pass
>>> from collections import Iterable
>>> isinstance(Foo(),Iterable)
 
推荐文章
睡不着的卡布奇诺  ·  Docker 安装 Python | 菜鸟教程
2 年前
道上混的消炎药  ·  python基础:通过end让输出结果显示在同一行-百度经验
2 年前
温柔的毛衣  ·  对数据包修改参数_play maker的博客-CSDN博客
2 年前
率性的黄瓜  ·  Python内存问题:提示和技巧-51CTO.COM
2 年前
调皮的小蝌蚪  ·  ElasticSearch 启动 unknown setting [node] please check that any required plugins are installed_阿云_的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号