Python(或通用编程)。为什么要使用<>而不是!=并且有风险吗?

时间:2010-02-22 16:06:40

标签: python operators

我认为如果我理解正确,a <> b在功能上与a != b完全相同,在Python not a == b中,但有理由使用<>而不是not a is b其他版本?我知道Python新手的常见错误是认为a != bnot a == b<>相同。

  1. {{1}}是否会出现类似的误解,或者功能上是否完全相同?
  2. 内存,处理器等的成本是否更高

3 个答案:

答案 0 :(得分:15)

Python 2中的

<>!=的确切同义词 - 没有理由使用它,除了无偿的异构性(样式问题)之外没有任何缺点。它一直被劝阻,现在已经在Python 3中删除了。

答案 1 :(得分:8)

只是一个迂腐的说明:<>运算符在某种意义上是错误的名称(错误的?)。 a <> b可能自然会被解释为a < b or a > b(当然只评估ab一次),但由于并非所有排序都是总排序,因此不匹配实际的语义。例如,2.0 != float('nan')为真,但2.0 < float('nan') or 2.0 > float('nan')为假。

!=运营商不会受到这种可能的误解。

关于决定放弃{3.}}以获取Python 3.x的有趣观点(诗歌!),请参阅Requiem for an operator

答案 2 :(得分:0)

你不应该在python中使用<>