为什么Python 3(或更高版本)比Python 2更好?

8 投票
4 回答
1398 浏览
提问于 2025-04-16 02:10

大约十年前,我开始学习Python,这也是我第一个认真学的编程语言(不是BASIC)。从那以后,我学了很多其他语言,但我还是习惯用Python思考。当我看到更新的变化列表时,我并没有发现有什么是我特别需要的新功能。我通常会想,嗯,这样做确实不错,但为什么现在要改呢?

像改变默认的地板除法(floor division)这样的事情,对于大型项目来说,可能会带来很大的麻烦。感觉那些主要的开发者们都在拖延。那么,有什么关键的功能能让我愿意去学习新的东西呢?

4 个回答

1

像改变默认的地板除法这种事情,对于大型项目来说,可能会非常麻烦。

如果你在8年前,也就是Python 2.2推出的时候,就开始做这个改变,使用了//from __future__ import division,那么现在就不会觉得麻烦了。就我个人而言,我很高兴终于可以摆脱旧式的除法了!

我最喜欢的Python 3.x的第二个功能是strbytes的区分。除了让Unicode支持变得更简单,bytes在处理数据库的BLOB时,比buffer方便多了。

3

关于这个话题,有个很不错的讨论可以在Python的维基上找到;我应该在开发中使用Python 2还是Python 3?

10

作为一个重要的特点,很多人对(据说)透明的Unicode支持感到非常兴奋。他们把原来的str(8位字符数组/默认字符串类型)和unicode(Unicode字符串)改成了str(默认的(兼容Unicode的)字符串)和bytes(作为8位“字符串”的二进制数据)。

(我觉得把字节列表和字符串分开是个好主意,但我也不喜欢Unicode,所以对我个人来说,这可能反而更糟。)

撰写回答