找不到太多这方面的信息。尝试比较两个值,但它们不能相等。就我而言,它们可以(并且经常是)大于或小于。
我应该使用:
if a <> b:
dostuff
or
if a != b:
dostuff
这一页说它们相似,这意味着它们至少有一些不同之处。
引用自Python语言参考,
比较运算符<>
and !=
是同一运算符的替代拼写。!=
是首选拼写;<>
已经过时了。
所以,它们都是同一个,但是!=
优先于<>
.
我尝试反汇编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
Both <>
and !=
正在生成相同的字节码
6 COMPARE_OP 3 (!=)
所以它们都是一回事。
Note:
<>
在 Python 3.x 中被删除,如下所示Python 3 语言参考.
Quoting 官方文档,
!=
也可以写成<>
,但这是一个过时的用法,仅为了向后兼容而保留。新代码应始终使用!=
.
结论
Since <>
在 3.x 中被删除,并且根据文档,!=
是首选方式,最好不要使用<>
at all.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)