原文作者:Charles Leifer
Python 3.8 发布在即,核心开发者团队让我总结一下最近讨论的 Python 4.0 预计推出的新功能,代码名为“ Ouroboros:自噬蛇”。Python 4.0 是大家翘首以盼的新版本,也将成为 Python 历史上的重大里程碑,在此感谢为之努力奋斗的 100 多名贡献者。
一行 79 个字符
的限制将增加至一行 89.5 个字符
。IDE 用户终于可以充分利用 30" 超宽 4K 显示器的优势啦!这是我们对每行 100 个字符这一呼声的妥协,大家各退一步。For Humans
(“以人为本”)。z-strings
, 这是一种 C 语言风格的空终止字节字符串。只要在字符串加上前缀 z
,如 z'my string'
,Python 就会自动将它转换成空终止字符串(NULL-terminated)。注意:z-strings
不能用于现有需要获取字符串参数的 API,应该先将它解码为 Unicode 字符串,或转换为字节(bytes)。async
关键词,并且鼓励使用 async do so
这种方式。用 Cargo-Culting[2] 方式编程,让魔法关键词出现在所有地方也没什么不好,大家都希望程序能跑得更快,是不是?namedtuple
与 dataclasses
基础上,Python 4.0 将增加几个千行 Decorator-Hack
,用以实现简单构建类型。bytes
转为 str
这件事,让众多被我们说服从 Python 2.x 升级到 3.x 的公司为我们提供了不少工作机会。本着同样的精神,很高兴告诉大家,今后会有两个 int
类型,其中,int
是 32 位带符号的整数,long
是 64 位带符号的整数。可能会有人说 “Python 2 不就是这样吗?”,对于这点,我们要告诉大家,以后再也用不了 int
了,要把它们都转换为 long
。Python 2 升级 3
的工具大获成功,我们计划推出 Python 3 升级 4
的工具,可以自动将代码转换为上述新特性。很遗憾,以下特性未能入选 Python 4.0 升级计划:
borrow-cheker
,所以只好放弃了。switch
语句,不过,你可以用 dict
。concurrent.Pasts
(过去) 与concurrent.Present
(现在)没有合并,不过,没关系,我们还有 future
(未来),是不是?gevent
。我们十分期待新版发布,并会竭尽所能做好在它能用之前的几个小版本。
要有信心!记住 Python 的宣言:
唯有死亡,才会永生!
推荐阅读