Jer*_*_TX 1 python comparison-operators python-2.7 python-3.x python-internals
找不到这个.试图比较2个值,但它们不能相等.就我而言,它们可以(通常是)大于或小于.
我应该使用:
if a <> b:
dostuff
Run Code Online (Sandbox Code Playgroud)
要么
if a != b:
dostuff
Run Code Online (Sandbox Code Playgroud)
这个页面说它们是相似的,这意味着它们至少有些不同.
the*_*eye 24
引用Python语言参考,
比较运算符
<>和!=同一运算符的替代拼写.!=是首选的拼写;<>过时了.
所以,它们都是同一个,但是比!=它更受欢迎<>.
我尝试在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)
Run Code Online (Sandbox Code Playgroud)
得到以下内容
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
Run Code Online (Sandbox Code Playgroud)
两个<>和!=正在产生相同的字节代码
6 COMPARE_OP 3 (!=)
Run Code Online (Sandbox Code Playgroud)
所以他们俩都是同一个人.
<>根据Python 3语言参考,在Python 3.x中删除.
引用官方文档,
!=也可以编写<>,但这是一个过时的用法,仅用于向后兼容.应始终使用新代码!=.
结论
由于<>在3.x中删除,并且根据文档,!=是首选方式,最好不要使用<>.
| 归档时间: |
|
| 查看次数: |
784 次 |
| 最近记录: |