2010-10-14 49 views
1

可能重复:
Python: Behaviour of increment and decrement operatorsPython的 “++” 操作不工作

您好,我已经试过这一点。

++num 

和NUM不会改变可言,总是显示值初始化时

如果我改变++numnum+=1然后它工作。

那么,我的问题是如何运行++运算符?

+1

我没有看到需要downvote这个问题。这是重复的,适当的行动是关闭而不是downvoting。 – Davy8 2010-10-14 19:48:50

+0

不起作用?什么使你甚至认为它存在?你在阅读什么教程?你在哪里看到它? – 2010-10-14 20:30:31

+0

@ S.Lott:您可以开始用Python刺入,并认为它在那里,因为有其他几种语言。如果你只是写一些函数,并尝试使用'++ x'作为增量,它不会抛出任何错误,只是被无声地破坏。 – 2010-10-14 20:53:44

回答

24

python中没有++运算符。您将一元+两次应用于变量。

12

答案:Python中没有++运算符。 += 1是增加了一些正确的方法,但要注意的是,由于整数和浮点数在Python不变,

>>> a = 2 
>>> b = a 
>>> a += 2 
>>> b 
2 
>>> a 
4 

此行为是由一个可变对象,其中b也将在手术后改变的不同:

>>> a = [1] 
>>> b = a 
>>> a += [2] 
>>> b 
[1, 2] 
>>> a 
[1, 2] 
+0

我没有看到你显示的+ =行为与任何其他语言不同,它将+ x = =转换为x = x + c即使类型是可变的,创建一个新实例而不是变异。 – Davy8 2010-10-14 19:17:50

+1

+1的信息比带有更快的触发手指的人更具信息性 – 2010-10-14 19:20:21

+1

@ Davy8:'+ ='如果它是可变的,*不会*创建一个新对象 - 只有当它不可变时。 – Daenyth 2010-10-14 19:21:01