Python 中 `<>` 是什么意思?

问题描述 投票:0回答:5

我正在尝试在 Python 3.3 中使用一个旧库(可以追溯到 2003 年!)。当我导入它时,Python 会抛出一个错误,因为源文件中有

<>
符号,例如:

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

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

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

python syntax operators python-2.x
5个回答
125
投票

意思是不等于。它取自

ABC
(Python的前身)请参阅这里

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

订购测试(

<>
表示'不等于'

我相信

ABC
是从 Pascal 那里拿来的,Pascal 是 Guido 开始编程时使用的一种语言。

它现已在 Python 3 中删除。请使用

!=
代替。如果你是疯狂,你可以在REPL
(而不是在脚本中)中废弃
!=,并只允许在Py3K中使用
这个复活节彩蛋
<>



48
投票
>>> 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

代替。

    


18
投票

!=

  
比较

与 C 不同,Python 中的所有比较操作都具有相同的优先级, 它低于任何算术、移位或按位运算 手术。与 C 不同的是,像

>>> help("<>")

这样的表达式具有 数学中的常规解释:

  
  
比较产生布尔值:

a < b < c

True
  
  
比较可以任意链接,例如

False

是 与

x < y <= z
等价,不同之处在于
x < y and y <= z
被评估 仅一次(但在这两种情况下,当发现
y
为假时,根本不会评估
z
)。
  
  

形式

x < y

<>
是等效的;为了与 C 保持一致,
!=
优先;其中
!=
是下面提到的
!=
也是 公认。
<>
拼写被认为已过时。

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


15
投票
<>

的旧方法,已在 Python 3 中删除。足够老的库可以使用它,也可能会遇到与 Python 3 的各种

other
不兼容问题:运行它可能是个好主意2to3,它会自动改变这一点,以及其他许多事情。


0
投票
!=

!=
。两者都代表不相等。

【参考:Python语言参考】 比较运算符

<>

<>
是同一运算符的替代拼写。
!=
是首选拼写;
!=
已过时。
    

© www.soinside.com 2019 - 2024. All rights reserved.