web-dev-qa-db-ja.com

Pythonでは `<>`はどういう意味ですか?

私はPython 3.3古いライブラリ(2003年以降!)で使用しようとしています。それをインポートすると、Python <>ソースファイルにサインインします。例:

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

私はそれが言語で今放棄されたサインだと思います。

それは正確に何を意味し、どの(より最近の)サインに置き換える必要がありますか?

51
michaelmeyer

等しくないことを意味します。これはABC(pythonの前身)から取得されました here を参照してください:

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

順序テスト(<> 'not equals'を意味します)

ABCは、Guidoがプログラミングを開始した言語であるPascalから取ったものだと思います。

これはPython 3.で削除されました。代わりに!=を使用してください。[〜#〜] crazy [〜#〜]を破棄できます!=とPy3Kで<>のみを許可します this easter Egg

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

NOT EQUALを意味しますが、非推奨です。代わりに!=を使用してください。

42
Peter Varo

Googleが対応できない句読点演算子であっても、Python自体を使用してドキュメントを検索できることを知っておく価値があります。

>>> help("<>")

比較

Cとは異なり、Python=のすべての比較演算は、算術演算、シフト演算、ビット単位演算よりも低い優先度を持ちます。Cとは異なり、a < b < cのような式には解釈がありますそれは数学で慣習的です:

比較によりブール値が生成されます:TrueまたはFalse

比較は任意に連鎖できます。たとえば、x < y <= zx < y and y <= zと同等です。ただし、yは1回だけ評価されます(ただし、両方の場合、zはまったく評価されません) x < yがfalseであることが判明した場合)。

<>!=の形式は同等です。 Cとの一貫性のために、!=が推奨されます。 !=は以下に記載されています<>も受け入れられます。 <>スペルは廃止と見なされます。

http://docs.python.org/2/reference/expressions.html#not-in を参照してください

14
Colonel Panic

これは!=を指定する古い方法であり、Python 3.で削除されました。これを使用するのに十分な古いライブラリは、さまざまなother Python 3:おそらく 2to を実行することをお勧めします。

14
lvc

つかいます !=または<>。両方とも等しくないことを意味します。

[参照:Python言語リファレンス]比較演算子<>および!=は、同じ演算子の代替スペルです。 !=が推奨されるスペルです。 <>は廃止されました。

0
Ehsan