我正在尝试在 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
订购测试(
表示'不等于')
<>
我相信
ABC
是从 Pascal 那里拿来的,Pascal 是 Guido 开始编程时使用的一种语言。
它现已在 Python 3 中删除。请使用
!=
代替。如果你是疯狂,你可以在REPL(而不是在脚本中)中废弃
!=
,并只允许在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
代替。
!=
比较
http://docs.python.org/2/reference/expressions.html#not-in与 C 不同,Python 中的所有比较操作都具有相同的优先级, 它低于任何算术、移位或按位运算 手术。与 C 不同的是,像
>>> help("<>")
这样的表达式具有 数学中的常规解释:
比较产生布尔值:a < b < c
或
。
True
比较可以任意链接,例如False
是 与
等价,不同之处在于x < y <= z
被评估 仅一次(但在这两种情况下,当发现x < y and y <= z
为假时,根本不会评估y
)。z
形式
x < y
和是等效的;为了与 C 保持一致,
<>
优先;其中
!=
是下面提到的
!=
也是 公认。
!=
拼写被认为已过时。 参见
<>
!=
或
!=
。两者都代表不相等。【参考:Python语言参考】 比较运算符
<>
和
<>
是同一运算符的替代拼写。 !=
是首选拼写; !=
已过时。