我在 Python 中看到这样的代码:
if cnt > 0 and len(aStr) > 1:
while cnt > 0:
aStr = aStr[1:]+aStr[0]
cnt += 1
+=
是什么意思?
最佳答案
a += b
本质上与 a = a + b
相同,除了:
+
总是返回一个新分配的对象,但是+=
应该(但不必)就地修改对象,如果它是可变的(例如list
或dict
,但int
和str
是不可变的)。在
a = a + b
中,a
被计算了两次。-
- 一个简单的语句包含在一个逻辑行中。
如果这是您第一次遇到 +=
运算符,您可能想知道为什么它可以就地修改对象而不是构建一个新对象。这是一个例子:
# two variables referring to the same list
>>> list1 = []
>>> list2 = list1
# += modifies the object pointed to by list1 and list2
>>> list1 += [0]
>>> list1, list2
([0], [0])
# + creates a new, independent object
>>> list1 = []
>>> list2 = list1
>>> list1 = list1 + [0]
>>> list1, list2
([0], [])
关于python - += 在 Python 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823561/