i lief in etwas Interessantes über die Python Augmented Zuordnung +=
Python Augmented Zuordnung Ausgabe
es scheint, automatischer Datentyp zu sein Umwandlung nicht immer für a += b
getan wird, wenn ein ein ‚einfacher‘ Datentyp ist, während a = a + b
scheint immer
Fällen arbeiten, wo die Umwandlung
a = 1
b = 1j
a = 1
b = 0.5
Fall erfolgt, bei der Umwandlung nicht
erfolgtfrom numpy import array
a = array([0, 0 ,0])
b = array([0, 0, 1j])
nach a += b
, a
bleibt als Integer-Matrix, statt komplexe Matrix
Früher dachte ich, a += b
die gleiche wie a = a + b
ist, was ist der Unterschied von ihnen in der zugrunde liegenden Implementierung ist?
Worauf bezieht sich 'Array' in Ihrem Beispiel? Ist das vom eingebauten 'Array' Modul? Wenn ja, funktioniert Ihr Beispiel nicht einmal, da es keinen Typcode gibt ... – SingleNegationElimination
'a = Array ([0, 0, 0])' und 'b = Array ([0, 0, 1j])' don ' t Arbeiten Sie mit der Klasse 'array' im gleichnamigen Modul. Ihnen fehlt ein anfänglicher Typcode-Argument. Und, AFAIK, unterstützt die Klasse keine komplexen Zahlen oder '+ =' augmentierte Zuweisung. Also verstehe ich nicht, was Sie hier fragen. – martineau
@martineau Siehe meinen Kommentar zu Rafes Antwort (jetzt gelöscht.) Mit Bezug auf diese NumPy Frage: http://www.scipy.org/FAQ#head-1ed851e9aff803d41d3cded8657b2b15a888ebd5 – ACoolie