barplot - Incremento de enteros de Python con++
pandas plot (8)
Posible duplicado:
Python: Comportamiento de operadores de incremento y decremento
Siempre me he reído de mí mismo cuando miro hacia atrás en mis días de VB6 y pensé: "¿Qué lenguaje moderno no permite incrementos con signos más"? ":
number++
Para mi sorpresa, no puedo encontrar nada sobre esto en los documentos de Python. ¿Debo realmente someterme a number = number + 1
? ¿Las personas no usan la notación ++/--
?
Aquí hay una explicación: http://bytes.com/topic/python/answers/444733-why-there-no-post-pre-increment-operator-python
Sin embargo, la ausencia de este operador en la filosofía de Python aumenta la coherencia y evita implicaciones.
Además, este tipo de incrementos no se utilizan ampliamente en el código de Python porque Python tiene una implementación sólida del patrón de iterador más la función de enumeración.
Eche un vistazo al comportamiento de los operadores de incremento y decremento en Python para obtener una explicación de por qué esto no funciona.
Python realmente no tiene ++ y -, y personalmente nunca sentí que fuera una pérdida.
Prefiero las funciones con nombres claros a los operadores con semántica no siempre clara (de ahí la pregunta clásica de entrevista sobre ++ x vs. x ++ y las dificultades de sobrecargarla). Además, nunca he sido un gran fanático de lo que hace la post-incrementación para mejorar la legibilidad.
Siempre se podría definir alguna clase de envoltorio (como acumulador) con una semántica clara de incremento, y luego hacer algo como x.increment () o x.incrementAndReturnPrev ()
En pocas palabras, los operadores ++
y --
no existen en Python porque no serían operadores , tendrían que ser declaraciones . Toda modificación del espacio de nombres en Python es una declaración, por simplicidad y consistencia. Esa es una de las decisiones de diseño. Y debido a que los enteros son inmutables, la única forma de "cambiar" una variable es reasignándola.
Afortunadamente, tenemos herramientas maravillosas para los casos de uso de ++
y --
en otros idiomas, como enumerate()
e itertools.count()
.
La razón principal por la que ++ es útil en los lenguajes tipo C es para realizar un seguimiento de los índices. En Python, usted trata los datos de una manera abstracta y rara vez se incrementa a través de índices y demás. Lo más cercano en espíritu a ++
es el next
método de los iteradores.
Puedes usar:
number += 1
Python no soporta ++
, pero puedes hacer:
number += 1
Sí. El operador ++
no está disponible en Python. A Guido no le gustan estos operadores.
Tu puedes hacer:
number += 1