it-swarm.com.de

Was bedeutet "<>" in Python?

Ich versuche in Python 3.3 eine alte Bibliothek (aus dem Jahr 2003!) Zu verwenden. Wenn ich es importiere, wirft Python einen Fehler, weil die Quelldatei <>-Zeichen enthält, z.

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

Ich denke, es ist ein jetzt aufgegebenes Zeichen in der Sprache.

Was bedeutet es genau und mit welchem ​​(neueren) Zeichen soll ich es ersetzen?

49
michaelmeyer

Es bedeutet nicht gleich. Es wurde aus ABC (Vorgänger von Python) entnommen/siehe hier

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

Auftragstests (<> bedeutet 'nicht gleich')

Ich glaube, ABC hat es von Pascal genommen, einer Sprache, mit der Guido angefangen hat zu programmieren. 

Es wurde jetzt in Python 3 entfernt. Verwenden Sie stattdessen !=. Wenn Sie VERR&UUML;CKT sind, können Sie != ausrangieren und nur <> in Py3K mit diesem Osterei zulassen

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

Es bedeutet NICHT EQUAL, aber es ist veraltet, verwenden Sie stattdessen !=.

42
Peter Varo

Es ist eine alte Methode, != anzugeben, die in Python 3 entfernt wurde. Eine Bibliothek, die alt genug ist, um sie zu verwenden, läuft wahrscheinlich auf verschiedene other - Inkompatibilitäten mit Python 3: Es ist wahrscheinlich eine gute Idee, sie durch _ auszuführen. 2to3 , was dies unter vielen anderen Umständen automatisch ändert.

14
lvc

Es ist wichtig zu wissen, dass Sie Python selbst verwenden können, um Dokumentation zu finden, selbst für Interpunktionsoperatoren, mit denen Google nicht zurechtkommt.

>>> help("<>")

Vergleiche

Im Gegensatz zu C haben alle Vergleichsoperationen in Python die gleiche Priorität was niedriger ist als das einer beliebigen Arithmetik, Verschiebung oder bitweisen Operation. Im Gegensatz zu C haben Ausdrücke wie a < b < c das Interpretation, die in der Mathematik üblich ist:

Vergleiche ergeben boolesche Werte: True oder False.

Vergleiche können beliebig verkettet werden, z. B. x < y <= z ist äquivalent zu x < y and y <= z, außer dass y ausgewertet wird nur einmal (aber in beiden Fällen wird z nicht ausgewertet, wenn x < y als falsch erkannt wird).

Die Formulare <> und != sind gleichwertig. für Konsistenz mit C, != ist bevorzugt; wobei != unten erwähnt ist <> auch akzeptiert. Die Schreibweise <> gilt als veraltet.

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

13
Colonel Panic

Verwenden Sie != oder <>. Beides steht für nicht gleich.

[Referenz: Python-Sprachreferenz] Die Vergleichsoperatoren <> und != sind alternative Schreibweisen desselben Operators. != ist die bevorzugte Schreibweise; <> ist veraltet. 

0
Ehsan