你应该选择使用Python 2还是Python 3来进行开发?(三)

如果不想避开Python 2.x怎么办? 这是个有着很多错误的旧式语言, 需要制作一个大版本来去除这些错误

好吧,不是全部都这样。3.0和3.1中一些破坏较少的改进已经分别向后移植到2.6和2.7。关于更多向后移植的特性详情,请查看Python2.6中新增项Python2.7中新增项

一份不详尽的特性列表如下,它们只在3.x的发现版本中可用并且不会向后移植到2.x系列版本。

  • 字符串默认为Unicode
  • 清楚的Unicode/字节分隔
  • 链式异常
  • 函数注解
  • 关键字参数语法
  • 扩展元组解包
  • 非本地变量声明

另外,语言的进化并不局限于核心语法或者语义的变化。 它也会涉及到标准库,在3.x中有很多标准库得以改进,并且这些改进不会直接向后移植到2.x。比如,可以查看Python 3新增项。然而,大量的标准库改进内容可以通过PyPI获取。

也就是说,书写良好的2.x版本代码可以跟3.x代码非常接近。这意味着很多事情,包括使用新式类,不使用古老的废弃的神秘咒语般的打印,在可用的地方使用懒惰的迭代器,等等。一个实际的例子:好的2.x代码会使用xrange而非range;xrange是Python 3.0中range实现(然而Python 3中range更强大,因为它可以处理比sys.maxint更大的数值)的起点。应该注意的是Python 3不包含xrange().

最重要的是建议把关注点放在书写良好的代码,这样的话2.x对比3.x变得更不是一个问题。这包含书写完整的测试套件,正确使用Unicode。(Python 3.x相比Python 2.x更是严重不能原谅Unicode和字节类型问题:这被认为是一个好事情,尽管它会导致移植某些软件包的时候很烦人)。

未完待续。。。To be continued…
原文参考:
https://wiki.python.org/moin/Python2orPython3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值