为什么Python中没有“++”操作?
可能重复的问题:
为什么Python中没有++和--运算符?
这个问题听起来可能有点奇怪,但我想知道为什么Python里没有这样的操作。
我知道,x += 1
几乎和x++
一样简单,但还是觉得奇怪。我熟悉的大多数编程语言(比如C、C++、Java、C#、JavaScript、PHP)都有这样的操作,但Python里没有。
这可能和这个语言的设计理念有关吧?
6 个回答
3
引用自 PEP-20:
应该有一种——最好只有一种——明显的方法来完成它。
你提到的所有编程语言都继承了C语言的操作符。在C语言中,由于指针运算的广泛使用,增加和减少的操作变得非常普遍。使用这种简写方式并不会让Python的表达能力大幅提升,实际上除了“C语言这样做”之外,没有其他理由需要把它加入到Python中。(光这一点并不是一个很有力的理由。)
4
5
为了避免在使用前增量和后增量时产生混淆,同时也为了让事情变得简单。
另外,像 int
和 long
这样的数据类型是不可变的。这意味着 ++
和 --
这些操作符的作用是改变当前的数据类型,而这在 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
下面是一个重复的问题,里面有更多的信息: