[pyar] i+=1 vs i=i+1

Daniel Moisset dmoisset en machinalis.com
Vie Mayo 4 11:46:21 ART 2012


2012/5/4 Sebastian Bassi <sebastian.bassi en globant.com>:
> Según esta
> discusión http://mail.python.org/pipermail/python-list/2011-August/1279150.html no
> hay diferencia de velocidad en ejecutar estas alternativas.
> Desde el punto de vista de alguna guia de estilo hay alguna recomendación?
> En PEP8 no hay ninguna (salvo el hecho de no usar una que favoresca a alguna
> implementación de Python en particular). O se puede decir que es solo
> cuestión de preferencia?
> Personalmente uso i+=1 pero quiero ver si hay un fundamento para imponer un
> criterio en una base de código común sin caer en "hacelo asi porque lo digo
> yo".

en el caso de i += 1 es bastante lo mismo. Por otro lado en el caso de:

self.x.y.z[a+b+c+f()] += 1 hay mucha diferencia con:

self.x.y.z[a+b+c+f()] = self.x.y.z[a+b+c+f()] + 1

La diferencia no solo es en performance(se hace el traversal,
getitiem, evaluacion de funcion dos veces en el segundo caso), sino de
legibilidad (en el segundo caso es menos obvio que la expresion de la
derecha y la de la izquierda son iguales)

Saludos,
   D.



More information about the pyar mailing list