深入理解asyncio(三)
这篇文章是《深入理解asyncio》的第三篇,主要包含回调和在asyncio中执行同步代码。
这篇文章是《深入理解asyncio》的第三篇,主要包含回调和在asyncio中执行同步代码。
缓存属性(cached_property)是一个非常常用的功能,很多知名Python项目都自己实现过它。Python 3.8要标准库内置啦
官方REPL也与时俱进,Python3.8支持asyncio REPL啦
在上篇文章已经看到多次用asyncio.gather了,还有另外一个用法是`asyncio.wait`,他们都可以让多个协程并发执行。那为什么提供2个方法呢?他们有什么区别,适用场景是怎么样的呢?其实我之前也是有点困惑,直到我读了asyncio的源码。我们先看2个协程的例子:
这几天看asyncio相关的pycon视频又重温了asyncio 的官方文档,收获很多。之前asyncio被吐槽的一点就是文档写的不好,Python 3.7 时 asyncio 的官方文档被 Andrew Svetlov 以及 Yury Selivanov 等核心开发者重写了,新的版本我觉得已经好很多了。在这里记录一下我对asyncio的一些理解。
我日常开发大概有98%的情况下会使用print来调试, Python3.8添加了新f-strings语法非常有助于编写调试代码!
现在已经是Python 3.8的最后一个alpha版本,接着就是本月底要发布的的3.8.0 beta 1了。按规定,3.8已经不会再添加(修改)功能了,之前非常有争议的PEP 572的实现已经算是很固定了,我们这篇文章就来先尝个鲜。看看这个新的`赋值表达式`语法怎么用,何时用。
从这篇开始我会不定期写一些在实际工作中把项目代码从Python2.7迁移到最新的Python 3.7的经验。 这篇先介绍pyupgrade - 一个修改代码中Python 2语法到最新版本写法的工具
在Python 3.7加入了一个新的模块 contextvars,模块标题说的也非常直接:Context Variables,也就是「上下文变量」...
近 PEP 570被接受了,其实要加的这个`Positional-Only Parameters`原来在内置的C函数上有很多都用到了,但是从Python 3.8开始就可以在Python代码里面使用它了