详解Python 4.0 预计推出的新功能


Posted in Python onJuly 26, 2019

Python 3.8 发布在即,核心开发者团队让我总结一下最近讨论的 Python 4.0 预计推出的新功能,代码名为“ Ouroboros:自噬蛇”。Python 4.0 是大家翘首以盼的新版本,也将成为 Python 历史上的重大里程碑,在此感谢为之努力奋斗的 100 多名贡献者。

经过邮件列表上的论战,PEP8 里的一行 79 个字符的限制将增加至一行 89.5 个字符。IDE 用户终于可以充分利用 30" 超宽 4K 显示器的优势啦!这是我们对每行 100 个字符这一呼声的妥协,大家各退一步。

所有新的支持库与标准库模块的标题中必须包含 For Humans(“以人为本”)。

Python 4.0 终将推出一种新的字符串类型,z-strings, 这是一种 C 语言风格的空终止字节字符串。只要在字符串加上前缀 z,如 z'my string',Python 就会自动将它转换成空终止字符串(NULL-terminated)。注意:z-strings 不能用于现有需要获取字符串参数的 API,应该先将它解码为 Unicode 字符串,或转换为字节(bytes)。

Type-hinting(类型提示)扩展将提供一些更实用的功能。新推出的简化版类型提示将被称为 Type Whispering(类型低语)。

他码弟,我们要用 libuv[1]为 Twisted acyncio 提供事件循环(Event Loop)支持。

Python 4.0 将支持在单一关键词前使用 async 关键词,并且鼓励使用 async do so 这种方式。用 Cargo-Culting[2] 方式编程,让魔法关键词出现在所有地方也没什么不好,大家都希望程序能跑得更快,是不是?

在 Python 3.7 版的 namedtuple 与 dataclasses 基础上,Python 4.0 将增加几个千行 Decorator-Hack,用以实现简单构建类型。

全局解释锁(GIL)已经被移除了。

开玩笑的!反之,我们一直努力,希望实现在一个线程里,处理多个解释器数据结构更容易。别客气,以后再感谢我们吧!

需要将 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 升级计划:

我们尝试过用 Rust 重写解释器的部分功能,但没人知道怎么禁用 borrow-cheker,所以只好放弃了。

没有switch 语句,不过,你可以用 dict。

concurrent.Pasts(过去) 与concurrent.Present(现在)没有合并,不过,没关系,我们还有 future(未来),是不是?

没人能搞懂 Twisted asyncio 如何运作,届时,将不会对这方面的内容有所改进。Python 软件基金会建议所有新项目都使用 gevent。

很抱歉,我们没有对打包“环境”做出任何改进。

我们十分期待新版发布,并会竭尽所能做好在它能用之前的几个小版本。

要有信心!记住 Python 的宣言:

唯有死亡,才会永生!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python编写一个简单的tic-tac-toe游戏的教程
Apr 16 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
python3中函数参数的四种简单用法
Jul 09 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
Python函数参数操作详解
Aug 03 Python
python中aioysql(异步操作MySQL)的方法
Apr 11 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
python mysql断开重连的实现方法
Jul 26 #Python
seek引发的python文件读写的问题及解决
Jul 26 #Python
python经典趣味24点游戏程序设计
Jul 26 #Python
对django后台admin下拉框进行过滤的实例
Jul 26 #Python
python函数的万能参数传参详解
Jul 26 #Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 #Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 #Python
You might like
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
尽可能写"友好"的"Javascript"代码
2007/01/09 Javascript
改版了网上的一个js操作userdata
2007/04/27 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
详解vue中组件参数
2018/07/09 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
Python语言描述最大连续子序列和
2017/12/05 Python
浅谈Python NLP入门教程
2017/12/25 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
软件测试常见笔试题
2012/02/04 面试题
银行实习人员自我鉴定
2013/09/22 职场文书
初中三年学生的学习自我评价
2013/11/13 职场文书
销售实习自我鉴定
2013/12/07 职场文书
店长职务说明书
2014/02/04 职场文书
管理失职检讨书
2014/02/12 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
解除财产保全担保书
2014/05/20 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
国庆横幅标语
2014/10/08 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python
python 制作一个gui界面的翻译工具
2021/05/14 Python
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
各国货币符号大全
2022/02/17 杂记