详解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标准异常和异常处理详解
Feb 02 Python
Python装饰器的执行过程实例分析
Jun 04 Python
Python爬虫文件下载图文教程
Dec 23 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
python儿童学游戏编程知识点总结
Jun 03 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
python实现手势识别的示例(入门)
Apr 15 Python
Pycharm调试程序技巧小结
Aug 08 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
Python基础之数据结构详解
Apr 28 Python
python 单机五子棋对战游戏
Apr 28 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
Protoss建筑一览
2020/03/14 星际争霸
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
使用JS动态显示文本
2017/09/09 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
python 接口_从协议到抽象基类详解
2017/08/24 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
python实现批量修改文件名
2020/03/23 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
社区先进事迹材料
2014/05/19 职场文书
项目合作意向书模板
2014/07/29 职场文书
2014年残联工作总结
2014/11/21 职场文书
活动经费申请报告
2015/05/15 职场文书
小兵张嘎观后感
2015/06/03 职场文书
教师节联欢会主持词
2015/07/04 职场文书
结婚幸福感言
2015/08/01 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书