Python 3.5正式发布,支持async/await异步编程

本文详细介绍了Python3.5版本中引入的async/await异步编程特性,包括PEP492的改进、矩阵相乘运算符PEP465、解包操作泛化PEP448以及CPython实现和标准库的重要改进。同时,文章还预告了在QCon上海2015会议上国内著名Python专家赖勇浩将分享的关于async/await特性的实现方式。

2015年9月13日,Python 3.5正式发布。该版本引入了很多新特性,比如支持async/await异步编程,改进了对Python Zip应用的支持,引入了一个加载扩展模块的改进机制等。

\\

语法方面的变化主要有三点:

\\
  • PEP 492:支持async/await语法的协程\

PEP 492极大改进了Python中对异步编程的支持,增加了awaitable对象(可以是协程或者带有__await__() 方法的对象)、协程函数异步迭代异步上下文管理器等内容。

\\

协程函数用新的async def语法声明:

\\
\\u0026gt;\u0026gt;\u0026gt;async def coro(): \\   ... return 'spam'
\\
  • PEP 465:新的矩阵相乘运算符:a @ b\\t
  • PEP 448:解包操作泛化(Unpacking Generalizations)\

CPython实现的改进:

\\
  • 不再使用.pyo文件,而是引入了一种更灵活的替代机制,.pyc文件可以表示优化和未优化的字节码。优化级别信息可以包含在.pyc文件的名字中,具体可参见PEP 488。 \\t
  • 重新设计了内置和扩展模块的加载机制,具体可参见PEP 489。\

标准库也有重要改进:

\\

安全方面的改进:

\\
  • 标准库中默认关闭了SSLv3,不过仍然支持手动开启。\\t
  • HTTP cookie解析更为严格,以防止可能出现的注入攻击。\

更多新特性,可以参考相关文档

\\

另外,在10月15~17日的QCon上海2015上,国内著名的Python专家赖勇浩将分享《探索Python 3.5中async/await特性的实现》。async/await特性使得Python具备语法级别的协程支持,也让它有了更容易理解和交流的异步编程模型。那么,这个特性在虚拟机里是如何实现的呢?是否用了什么很特别的机制?跟之前的yield/yield from有何异同?敬请期待。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值