为什么Python中没有“++”操作?

1 投票
6 回答
591 浏览
提问于 2025-04-17 10:28

可能重复的问题:
为什么Python中没有++和--运算符?

这个问题听起来可能有点奇怪,但我想知道为什么Python里没有这样的操作。

我知道,x += 1几乎和x++一样简单,但还是觉得奇怪。我熟悉的大多数编程语言(比如C、C++、Java、C#、JavaScript、PHP)都有这样的操作,但Python里没有。

这可能和这个语言的设计理念有关吧?

6 个回答

3

引用自 PEP-20:

应该有一种——最好只有一种——明显的方法来完成它。

你提到的所有编程语言都继承了C语言的操作符。在C语言中,由于指针运算的广泛使用,增加和减少的操作变得非常普遍。使用这种简写方式并不会让Python的表达能力大幅提升,实际上除了“C语言这样做”之外,没有其他理由需要把它加入到Python中。(光这一点并不是一个很有力的理由。)

4

虽然这和Python没有直接关系,但你可以看看:

为什么在JavaScript中要避免使用自增("++")和自减("--")运算符?

简单来说,是因为这是语言设计上的一个选择。

5

为了避免在使用前增量和后增量时产生混淆,同时也为了让事情变得简单。

另外,像 intlong 这样的数据类型是不可变的。这意味着 ++-- 这些操作符的作用是改变当前的数据类型,而这在 Python 中是不被支持的。

在进行增量操作后,Python 对象本身会发生变化。

>>> a = int(10)
>>> b = a
>>> print id(a), id(b)
166744132 166744132
>>> a += 1
>>> print id(a), id(b)
166744120 166744132
>>> print a, b
11 10

下面是一个重复的问题,里面有更多的信息:

为什么在 Python 中没有 ++ 和 -- 操作符?

Python 中增量和减量操作符的行为

撰写回答