¿Cuándo usar los operadores “ y `! =`?

No se pudo encontrar mucho sobre esto. Tratando de comparar 2 valores, pero no pueden ser iguales. En mi caso, pueden ser (y con frecuencia son) mayor o menor que.

Debería usar:

if a  b: dostuff 

o

 if a != b: dostuff 

Esta página dice que son similares, lo que implica que al menos hay algo diferente en ellos.

Citando de la referencia del lenguaje Python ,

Los operadores de comparación <> y != Son ortografías alternativas del mismo operador. != es la ortografía preferida; <> es obsolescente.

Por lo tanto, ambos son uno y el mismo, pero != Se prefiere sobre <> .

Intenté desmontar el código en Python 2.7.8

 from dis import dis form_1 = compile("'Python' <> 'Python'", "string", 'exec') form_2 = compile("'Python' != 'Python'", "string", 'exec') dis(form_1) dis(form_2) 

Y consiguió lo siguiente

  1 0 LOAD_CONST 0 ('Python') 3 LOAD_CONST 0 ('Python') 6 COMPARE_OP 3 (!=) 9 POP_TOP 10 LOAD_CONST 1 (None) 13 RETURN_VALUE 1 0 LOAD_CONST 0 ('Python') 3 LOAD_CONST 0 ('Python') 6 COMPARE_OP 3 (!=) 9 POP_TOP 10 LOAD_CONST 1 (None) 13 RETURN_VALUE 

Tanto <> como != Están generando el mismo código de byte

  6 COMPARE_OP 3 (!=) 

Así que ambos son lo mismo.

Nota:

<> se elimina en Python 3.x, según la Referencia del lenguaje de Python 3 .

Citando documentación oficial ,

!= también se puede escribir <> , pero este es un uso obsoleto que solo se mantiene por compatibilidad con versiones anteriores. El código nuevo siempre debe usar != .

Conclusión

Dado que <> se elimina en 3.x, y según la documentación != Es la forma preferida, mejor no use <> en absoluto.

Sólo quédate con != .

<> está desactualizado! Por favor, consulte el manual de referencia reciente de python.