可能重复:
Python: Behaviour of increment and decrement operators
当我回顾自己的VB6时,我总是嘲笑自己,并且想:“现代语言不允许用双加号增加?”:
number++
令我惊讶的是,我在Python文档中找不到任何相关内容。我真的要接受number = number + 1
吗?人们不能使用++/--
符号吗?
答案 0 :(得分:1204)
Python不支持++
,但你可以这样做:
number += 1
答案 1 :(得分:405)
简单地说,++
和--
运算符在Python中不存在,因为它们不是运算符,它们必须是语句< / em>的。为简单起见和一致性,Python中的所有命名空间修改都是一个声明。这是设计决策之一。因为整数是不可变的,所以“改变”变量的唯一方法就是重新分配它。
幸运的是,我们为其他语言的++
和--
用例提供了很棒的工具,例如enumerate()
和itertools.count()
。
答案 2 :(得分:44)
你可以这样做:
number += 1
答案 3 :(得分:24)
是。 ++
运算符在Python中不可用。 Guido不喜欢这些运营商。
答案 4 :(得分:20)
您可以使用:
number += 1
答案 5 :(得分:20)
++在C语言中派上用场的主要原因是跟踪索引。在Python中,您以抽象的方式处理数据,很少通过索引等来增加数据。与++
最接近的是迭代器的next
方法。
答案 6 :(得分:11)
请查看Behaviour of increment and decrement operators in Python,了解为何无效。
Python并没有真正拥有++和 - 而且我个人从未觉得这是一种损失。
我更喜欢具有明确名称的函数到具有非始终清晰语义的运算符(因此关于++ x与x ++的经典访谈问题以及重载它的困难)。我也从未成为后增量对可读性的忠实粉丝。
您总是可以使用明确的增量语义定义一些包装类(如累加器),然后执行类似x.increment()或x.incrementAndReturnPrev()
的操作。答案 7 :(得分:8)
这里有一个解释: http://bytes.com/topic/python/answers/444733-why-there-no-post-pre-increment-operator-python
然而,缺少这个运算符在python哲学中增加了一致性并避免了隐含性。
此外,这种增量在python代码中没有广泛使用,因为python具有迭代器模式和函数枚举的强大实现。