65

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

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

我猜这是该语言中现已被遗弃的标志。

它到底是什么意思,我应该用哪个(更新的)标志来代替它?

4

5 回答 5

112

不等于的意思。它取自ABC(python的前身),请参见此处

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

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

我相信ABC它来自 Pascal,Guido 开始编程时使用的一种语言。

它现在已在 Python 3 中删除。!=改为使用。如果你很疯狂,你可以使用这个复活节彩蛋废弃!=并只允许<>在 Py3K 中使用:

>>> from __future__ import barry_as_FLUFL
>>> 1 != 2
  File "<stdin>", line 1
    1 != 2
       ^
SyntaxError: with Barry as BDFL, use '<>' instead of '!='
>>> 1 <> 2
True
于 2013-05-25T11:35:38.093 回答
46

这意味着不等于,但已弃用,请!=改用。

于 2013-05-25T11:34:17.990 回答
16

值得知道的是,您可以使用 Python 本身来查找文档,即使对于 Google 无法处理的标点符号运算符也是如此。

>>> help("<>")

比较

与 C 不同,Python 中的所有比较操作都具有相同的优先级,低于任何算术、移位或按位操作。同样与 C 不同,表达式 likea < b < c具有数学中的常规解释:

比较产生布尔值:TrueFalse

比较可以任意链接,例如,x < y <= z等价于x < y and y <= z,除了y只评估一次(但在两种情况下,当发现为假z时根本不评估)。x < y

形式<>!=等价;为了与 C 保持一致, !=首选;!=下面提到的地方<>也被接受。<>拼写被认为是过时的。

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

于 2013-05-27T14:20:49.903 回答
15

这是一种旧的指定方式!=,在 Python 3 中已被删除。一个足够老的库可以使用它也可能遇到与 Python 3 的各种其他不兼容问题:通过2to3运行它可能是个好主意,它会自动改变这一点,等等。

于 2013-05-25T11:40:14.693 回答
0

使用!=<>。两者都代表不相等。

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

于 2017-02-24T21:29:58.230 回答