再见,Python 2.x
整理 | 屠敏
来源 | CSDN(ID:CSDNnews)
Python 2.x 和 Python 3.x 两者在编码效率上没有明显差距,但是 Python 3.x 却要花额外的成本处理兼容性问题;
感觉 Python 2 和 Python 3 是两门不同的语言,只不过他们的语法相似罢了;
......
表达式的收益——允许生成器将其部分操作委托给另一个生成器。
Unicode 字符串——Unicode 处理起来更容易。
打印函数——打印函数有额外的功能,使其更灵活。
视图和迭代器取代列表——一些众所周知的 API 不再返回列表。比如说,字典返回键、值或两者的视图。
“multi-with”语句——复杂的 with 语句更易于阅读。
使用 * 和 ** 解包——扩展 * 可迭代解包运算符和 ** 字典解包运算符的用途。现在可以在函数调用中使用任意数量的解包运算符。
纯关键字实参——允许实参出现在 varargs 参数的后面。
F 字符串——运行时评估的一种新类型的字符串常量,可能含有任何有效的Python表达式。
大量的加速和优化机制。
「Can I Use Python 3」(https://github.com/brettcannon/caniusepython3)是一个程序,它可以检查你项目的依赖项,看看有没有依赖项在阻止你使用 Python 3。使用该程序来查看你是否需要换掉任何使用 Python 2.x 的库。在这种情况下,有必要访问该库主页,看看是否有计划移植到 Python 3。
「2to3」(https://docs.python.org/2/library/2to3.html)是一个 Python 程序,它试图将 2.x 源代码转换成 Python 3。它通常与 Python 解释器一起安装为脚本。如果你只想看看它对源代码进行的每次变更有何差异,则可以在不用编写任何更改的情况下运行该程序。注意:这并不完美,你可能仍需要手动修复一些代码。
《支持Python 3:深入指南》(http://python3porting.com/)是一本免费的开源电子书,可指导你完成添加 Python 3 支持的过程。本书解释了你可能遇到的一些常见迁移问题,并列出了使用 Python 3中 的新功能改进源代码的方法。
「Six 」(https://github.com/benjaminp/six)是一个 Python 2 和 3 兼容库,为开发者提供了编写与 Python 2 和 3 都兼容的代码。使用该库,开发人员可以选择使用哪个版本的 Python 解释器来运行代码。如果你决定使用该库,确保代码表明了这一点:Python 版本号可能很快增加到 4.0(截至本文发稿时最新版本为 3.7.4)。
利用他人的经验来帮助你——很多人已讲述了移植代码库方面的经验。Dropbox 在 2018 年将代码库迁移到 Python 3,撰写了一篇博文详细介绍了经验(https://blogs.dropbox.com/tech/2018/09/how-we-rolled-out-one-of-the-largest-python-3-migrations-ever/)。
Python 官网(https://docs.python.org/3/howto/pyporting.html)。
◆
今晚8点,公开课直播
◆
推荐阅读
DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现
KDD 2019高维稀疏数据上的深度学习Workshop论文汇总
说出来你可能不信,现在酒厂都在招算法工程师
姚班三兄弟3万块创业八年,旷视终冲刺港股
2019 AI ProCon日程出炉:Amazon首席科学家李沐亲授「深度学习」
AI Top 30+案例评选等你来秀!
福利 | 马上为你安排和大咖面对面交流的机会,不可错过
92年小哥绞尽脑汁骗得价值800万比特币, 破案后警方决定还给受害者
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 奋力打开改革发展新天地 7950947
- 2 中国黄金原董事长家搜出大量黄金 7938200
- 3 保时捷断臂求生 7829797
- 4 “冷资源”里的“热经济” 7725277
- 5 赖床其实是在保护心脏 7684787
- 6 刘强东提前发年终奖 7581369
- 7 #胡锡进称大学生要先工作不应啃老# 7444228
- 8 喝水后有4种表现提示肾有问题 7383408
- 9 十来岁男孩尾随女孩进电梯脱裤子 7213059
- 10 恒大地产1.2亿元债权将1元起拍 7162111