对此没有多大帮助。试图比较2个值,但它们不能相等。就我而言,它们可以(通常是)大于或小于。
我应该使用:
if a <> b:
dostuff
或
if a != b:
dostuff
This page说他们相似,这意味着他们至少有些不同。
答案 0 :(得分:24)
比较运算符
<>
和!=
是同一运算符的备用拼写。!=
是首选拼写;<>
已过时。
所以,它们都是同一个,但!=
优先于<>
。
我尝试在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)
得到以下
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
<>
和!=
都生成相同的字节代码
6 COMPARE_OP 3 (!=)
所以他们俩都是同一个。
<>
。
引用the Python 3 Language Reference,
!=
也可以写成<>
,但这是一种过时的用法,仅用于向后兼容。 新代码应始终使用!=
。
<强>结论强>
由于<>
已在3.x中删除,并且根据文档,!=
是首选方式,因此最好不要使用<>
。
答案 1 :(得分:0)
坚持!=
。
<>
已过时!请查看最近的python参考手册。