回答
表達a += b
爲a = a + b
,其中a
和b
可以是數字或字符串,或元組或列表速記(但二者必須是同一類型)。
('x',)
中的逗號表示這是一個元素的元組,'x'
。如果逗號不存在,則括號之間只是一個'x'
。
[迂腐]這不是其他版本的「速記」。你可以讓它做所有不同的事情...... – JBernardo
+=
is addition and assignment into one(有時稱爲iadd
或就地添加)。這是一樣的a = a + x
a = 4
a += 5 # add 5 to a, and assign the result into a
b = 4
b = b + 5 # this does the same thing as +=
print a # prints out 9
print b # prints out 9
你也可以做其他操作這種風格,如-=
,*=
,/=
,&=
(按位與),|=
(按位或),^=
(按位異或),%=
(mod),**=
(指數)。
('something',)
是tuple。 ('something')
(不含逗號)在分組中使用括號,類似於('some' + 'thing')
或(a + b)
。爲了區分單成員元組和句法上的分組,Python使用逗號。
Python有一個操作符爲一個名字賦值,它的值爲=
。
該語言還支持許多其他運算符,如+
,-
,**
用於在對象的特殊方法中定義的操作。
雖然+
是添加東西的數學符號,但可以自定義以執行任何您想要的操作。
有時您想要進行操作並使用相同的名稱進行存儲。對於這些情況,您有就地操作員,這些操作員只是您正在使用的正常操作員以及=
標誌。
對於不可變對象(數字,字符串,元組等),您不能進行就地更改,因爲......它們是不可變的。所以,就地方法和正常方法完成的工作完全相同,然後是賦值。
對於可變對象不同的是多明確:
就地加:
>>> a = []
>>> b = a
>>> b += [1,2]
>>> a
[1, 2]
添加和分配:
>>> a = []
>>> b = a
>>> b = b + [1,2]
>>> a
[]
看到了嗎?該對象本身是用列表的就地添加進行轉換的,但在另一種情況下,創建了一個新對象。
對於你的其他問題,逗號是元組分隔符。
a = (1) # Just number 1 inside parenthesis
a = (1,) # A tuple with one element
- 1. python中的這個意思是什麼?
- 2. 是什麼意思,在Python中是什麼意思?
- 3. 是什麼!在這意思?
- 4. 這個python語法是什麼意思?
- 5. 這個python代碼是什麼意思?
- 6. 這個Python語句是什麼意思?
- 7. 這個Python錯誤是什麼意思?
- 8. 這個python語法是什麼意思?
- 9. 這是什麼意思$();?
- 10. 這是什麼意思?
- 11. IllegalStateException:這是什麼意思?
- 12. 這些是什麼意思?
- 13. 這是什麼意思this.RaisePropertyChanged(「」)?
- 14. 這是什麼意思? initWithFrame:CGRectZero]
- 15. 這是什麼意思
- 16. 這是什麼意思? [c#]
- 17. System.BadImageFormatException這是什麼意思?
- 18. 這是什麼意思AfterWatermark.withEarlyFirings?
- 19. 「這」是什麼意思?
- 20. 這是什麼意思channel.id()?
- 21. :這是什麼意思?
- 22. 這是什麼意思?
- 23. 這是什麼意思?
- 24. 這是什麼意思? !function()
- 25. 這是什麼意思?
- 26. 什麼是PPC,這是什麼意思?
- 27. 這是什麼意思?
- 28. 這是什麼意思:&** this;
- 29. Ç - 這是什麼意思〜
- 30. 這是什麼意思
至於逗號:http://stackoverflow.com/questions/3750632/why-does-adding-a-trailing-comma-after-a-string-make-it-a-tuple –