Warum mehr als ein Gleichheitszeichen in einer Anweisung mit derselben Variablen verwenden?

8

Ich stieß auf Beispielcode, der eine Anweisung mit derselben Variablen verwendet:

%Vor%

Ich habe es versucht:

%Vor%

und alle vier Variablen (a, b, c und d) werden alle 10. Wie:

%Vor%

Dies ist ein Amazon-Codebeispiel, daher bezweifle ich mein Verständnis von Python und nicht das Codebeispiel. Die Seite kann hier gefunden werden: AWS Kinesis-Beispiel

Was passiert hier wahrscheinlich? Etwas Python Voodoo verstehe ich nicht oder nur ein Tippfehler?

    
Eric Snyder 05.11.2017, 01:27
quelle

1 Antwort

2

a = a = b ist immer entspricht a = b in Python. Die Verwendung von Anweisungen mit mehreren Gleichheitszeichen, wie Sie es beschreiben, wird verkettete Zuweisung genannt und wird in vielen Programmiersprachen unterstützt. Einige Sprachen verursachen einen Fehler, wenn sie die verkettete Zuweisung derselben Variablen (C) erkennen, andere ignorieren sie jedoch einfach (Python, Javascript).

Es wäre eine schlechte Idee, dieses Verhalten zu ändern, und es ist nicht leicht zu erreichen, weil das Verhalten des Zuweisungsoperators in python integriert ist, ohne dass Änderungshacken vorhanden sind (siehe: Ist es möglich, Python-Zuweisung zu überlasten? ). Ich denke also, es ist sicher anzunehmen, dass dies ein (harmloser) Tippfehler ist, den Sie aufgedeckt haben.

    
7yl4r 05.11.2017, 02:22
quelle

Tags und Links