me encontré con algo interesante sobre la tarea pitón aumentada +=
Python aumentada problema de asignación
parece ser el tipo de datos automática de conversión no siempre se hace para a += b
si a es un tipo de datos 'simple', mientras que a = a + b
parece el trabajo siempre
los casos en que la conversión se realiza
a = 1
b = 1j
a = 1
b = 0.5
caso en el que la conversión no se realiza
from numpy import array
a = array([0, 0 ,0])
b = array([0, 0, 1j])
después a += b
, a
permanece como matriz de enteros, en lugar de matriz compleja
Solía pensar a += b
es lo mismo que a = a + b
, ¿cuál es la diferencia de ellas en la implementación subyacente?
¿a qué se refiere 'array' en su ejemplo? ¿Eso es del módulo integrado 'array'? si es así, su ejemplo ni siquiera funciona, ya que no hay código de tipo ... – SingleNegationElimination
'a = array ([0, 0, 0])' y 'b = array ([0, 0, 1j])' don ' Trabajar con la clase 'array' en el módulo del mismo nombre. Ambos carecen de un argumento inicial * typecode *. Y, AFAIK, la clase no admite números complejos ni '+ =' asignación aumentada. Así que no entiendo lo que estás preguntando aquí. – martineau
@martineau Vea mi comentario sobre la respuesta de Rafe (ahora eliminada) haciendo referencia a esta pregunta de NumPy: http://www.scipy.org/FAQ#head-1ed851e9aff803d41d3cded8657b2b15a888ebd5 – ACoolie