详解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制作一个桌面便签软件
Aug 09 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
win7下python3.6安装配置方法图文教程
Jul 31 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
Mar 23 Python
python频繁写入文件时提速的方法
Jun 26 Python
pytorch 更改预训练模型网络结构的方法
Aug 19 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
django实现日志按日期分割
May 21 Python
分享几种python 变量合并方法
Mar 20 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中基本符号及使用方法
2010/03/23 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
php关联数组快速排序的方法
2015/04/17 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
深入理解Python中的内置常量
2017/05/20 Python
python实现Floyd算法
2018/01/03 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
办公室前台岗位职责范本
2013/12/10 职场文书
组织关系转移介绍信
2014/01/16 职场文书
《木笛》教学反思
2014/03/01 职场文书
同居协议书范本
2014/04/23 职场文书
护理学专业求职信
2014/06/29 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
公务员政审材料范文
2014/12/23 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
预备党员半年考察意见
2015/06/01 职场文书
毕业典礼致辞
2015/07/29 职场文书