J'essaie d'utiliser dans Python 3.3 une ancienne bibliothèque (datant de 2003!). Lorsque je l’importe, Python me renvoie une erreur car il y a des signes <>
dans le fichier source, par exemple:
if (cnum < 1000 and nnum <> 1000 and ntext[-1] <> "s":
...
Je suppose que c'est un signe maintenant abandonné dans la langue.
Qu'est-ce que cela signifie exactement et par quel signe (plus récent) dois-je le remplacer?
Cela signifie pas égal à. Il a été pris de ABC
(prédécesseur de python) voir ici :
x < y, x <= y, x >= y, x > y, x = y, x <> y, 0 <= d < 10
Ordre des tests (
<>
signifie 'pas égal')
Je crois que ABC
l’a pris à Pascal, un langage avec lequel Guido a commencé à programmer.
Il a maintenant été supprimé dans Python 3. Utilisez plutôt !=
. Si vous êtes FOU, vous pouvez supprimer !=
et n'autoriser que <>
dans Py3K avec cet oeuf de Pâques :
>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2
True
Cela signifie NOT EQUAL, mais il est déconseillé, utilisez plutôt !=
.
C’est une ancienne façon de spécifier !=
, qui avait été supprimée dans Python 3. Une bibliothèque assez ancienne pour l’utiliser s’expose probablement à diverses autres incompatibilités avec Python 3: c’est probablement une bonne idée de le parcourir 2to3 , qui change automatiquement cela, parmi beaucoup d'autres choses.
Cela vaut la peine de savoir que vous pouvez utiliser Python lui-même pour trouver de la documentation, même pour les opérateurs de signe de ponctuation auxquels Google ne peut faire face.
>>> help("<>")
Des comparaisons
Contrairement à C, toutes les opérations de comparaison en Python ont la même priorité, qui est inférieur à celui de toute arithmétique, décalage ou au niveau des bits opération. De plus, contrairement à C, les expressions comme
a < b < c
ont le interprétation conventionnelle en mathématiques:Les comparaisons donnent des valeurs booléennes:
True
ouFalse
.Les comparaisons peuvent être chaînées de manière arbitraire, par exemple,
x < y <= z
est équivalent àx < y and y <= z
, sauf quey
est évalué une seule fois (mais dans les deux cas,z
n'est pas du tout évalué lorsquex < y
est faux).Les formulaires
<>
et!=
sont équivalents; pour la cohérence avec C,!=
est préféré; où!=
est mentionné ci-dessous<>
est également accepté. L'orthographe<>
est considérée comme obsolète.
Voir http://docs.python.org/2/reference/expressions.html#not-in
Utilisez !=
ou <>
. Les deux signifie pas égal.
[Référence: Référence du langage Python] Les opérateurs de comparaison <>
et !=
sont des variantes du même opérateur. !=
est l'orthographe préférée; <>
est obsolète.