在Python中,<>是什么意思?

我试图在Python 3.3中使用一个旧的库(从2003年开始!)。 当我导入它时,Python会抛出一个错误,因为源文件中有<>符号,例如:

 if (cnum < 1000 and nnum <> 1000 and ntext[-1] <> "s": ... 

我想这是一个现在被放弃的语言标志。

究竟是什么意思,我应该用哪个(更近的)标志来代替?

这意味着不等于。 这是从ABC (python的前身)看到这里看到:

x < y, x <= y, x >= y, x > y, x = y, x <> y, 0 <= d < 10

订单testing( <>表示“不等于”

我相信ABC是从Guido开始编程的语言Pascal中获得的。

现在它已经在Python 3中被删除了,使用!=来代替。 如果你疯了,你可以使用这个复活节彩蛋在Py3K中放弃!=和只允许<>

 >>> from __future__ import barry_as_FLUFL >>> 1 <> 2 True 

这意味着不等于,但不推荐使用!=来代替。

这是指定!=的旧方法,它在Python 3中被删除了。一个足够老的库可能会遇到与Python 3不兼容的其他问题 :通过2to3运行它可能是一个好主意改变这一点,还有许多其他的事情。

值得一提的是,您可以使用Python本身来查找文档,即使是Google无法应付的标点符号运算符也是如此。

 >>> help("<>") 

比较

与C不同,Python中的所有比较操作具有相同的优先级,低于任何算术,移位或按位操作。 与C不同的是,像a < b < c这样的expression式具有math上常规的解释:

比较产生布尔值: TrueFalse

比较可以任意链接,例如, x < y <= z相当于x < y and y <= z ,不同之处在于y只计算一次(但是在两种情况下,当x < y时都不计算z是假的)。

表格<>!=是等价的; 为了与C一致, !=是首选; 其中!=在下面提到<>也被接受。 <>拼写被认为是过时的。

请参阅http://docs.python.org/2/reference/expressions.html#not-in

不等于 ….见下文:


  • ==检查两个操作数的值是否相等,如果是,则条件成立。 ( a == b )是不正确的。

  • !=检查两个操作数的值是否相等,如果值不相等则条件成立。 ( a != b )是真的。

  • 检查两个操作数的值是否相等,如果值不相等则条件成立。 ( a <> b )是真的。 这与!=运算符类似。

  • >检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 ( a > b )不正确。

  • <检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 ( a < b )是真的。

  • >=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 ( a >= b )是不正确的。

  • <=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 ( a <= b )是真的。

使用!=<> 。 两者并不相等。

[参考:Python语言参考]比较运算符<>!=是相同运算符的替代拼写。 !=是首选的拼写; <>已经过时了。