Wat betekent het += in Python?

Wat betekent het als het zo is:

self.something += ('somethin',)

Wat betekent “+=” en wat betekent de komma?


Antwoord 1, autoriteit 100%

De uitdrukking a += bis een afkorting voor a = a + b, waarbij aen bkunnen getallen zijn, of strings, of tuples, of lijsten (maar beide moeten van hetzelfde type zijn).

De komma in ('x',)betekent dat dit een tupel is van een enkel element, 'x'. Als de komma ontbreekt, staat er gewoon een 'x'tussen haakjes.


Antwoord 2, autoriteit 45%

Python heeft een operator om waarde toe te kennen aan een naam en het is =.

De taal ondersteunt ook veel andere operators zoals +, -, **voor bewerkingen die zijn gedefinieerd in speciale methoden van uw objecten.

p>

Hoewel +het wiskundige teken is om dingen toe te voegen, kan het worden aangepast om te doen wat je maar wilt.

Soms wilt u een bewerking uitvoeren en deze onder dezelfde naam opslaan. Voor deze situaties heb je in-place operators die gewoon de normale operators zijn die je gebruikt plus het =teken.

Voor onveranderlijke objecten (getallen, tekenreeksen, tupels,…) kunt u geen wijzigingen aanbrengen omdat… ze onveranderlijk zijn. De in-place methoden doen dus precies hetzelfde als de normale methode gevolgd door een toewijzing.

Voor veranderlijke objecten is het verschil veelduidelijk:

Ter plaatse toevoegen:

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

Toevoegen en toewijzen:

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

Zie je? Het object zelf werd getransformeerd met de in-place Toevoegen voor lijsten, maar aan de andere zaak is een nieuw object gemaakt.


Voor uw andere vraag is de komma de tuple-scheider.

a = (1)   # Just number 1 inside parenthesis
a = (1,)  # A tuple with one element

Antwoord 3, Autoriteit 36%

+=is toevoeging en opdracht in één (soms aangeduid als iaddof in-place add). Het is hetzelfde als 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

U kunt ook andere bewerkingen in deze stijl doen, zoals -=, *=, /=, &=(bitwise en), |=(bitgegewijs of), ^=(bitwise xor), %=(mod) , **=(exponent).


('something',)is een tuple . ('something')(zonder de komma) gebruikt de haakjes in groepering, soort zoals ('some' + 'thing')of (a + b). Om onderscheid te maken tussen het ene-lid tuple en de groepering syntactisch gebruikt Python een komma.

Other episodes