Python (o progtwigción general). ¿Por qué usar en lugar de! = Y hay riesgos?

Creo que si entiendo correctamente, a b es exactamente lo mismo funcionalmente que a != b , y en Python not a == b , pero ¿hay motivos para usar sobre las otras versiones? Sé que un error común para los recién llegados a Python es pensar que not a is b es lo mismo que a != b o not a == b .

  1. ¿Ocurren conceptos erróneos similares con , o es exactamente el mismo funcionalmente?
  2. ¿Cuesta más en memoria, procesador, etc.?

<> en Python 2 es un sinónimo exacto de != – no hay razón para usarlo, tampoco hay desventajas excepto la heterogeneidad gratuita (un problema de estilo). Ha sido desalentado durante mucho tiempo, y ahora se ha eliminado en Python 3.

Solo una nota pedante: el operador <> en cierto sentido se llama erróneamente (¿está mal catalogado?). a <> b puede interpretarse naturalmente como que significa a < b or a > b (evaluar a y b solo una vez, por supuesto), pero como no todas las ordenaciones son ordenaciones totales, esto no coincide con la semántica real. Por ejemplo, 2.0 != float('nan') es verdadero, pero 2.0 < float('nan') or 2.0 > float('nan') es falso.

El operador != No está sujeto a tal posible malinterpretación.

Para una toma interesante (¡con poesía!) Sobre la decisión de abandonar <> para Python 3.x, consulte Requiem para un operador .

no debes usar <> en python.