问题
What exactly is the <>
operator in Python, and why is it undocumented (as far as I can tell)?
Is it the same as !=
or is not
?
回答1:
In Python 2.x, <>
is the same as !=
(i.e. "not equal to", rather than is not
which is "not identical to"), but the latter is preferred:
The comparison operators
<>
and!=
are alternate spellings of the same operator.!=
is the preferred spelling;<>
is obsolescent.
In 3.x, <>
has been removed and only !=
exists.
回答2:
It is documented, but you're not supposed to use it. Your guess about it being equivalent to !=
is correct. Quoting the Python 2 documentation:
!=
can also be written<>
, but this is an obsolete usage kept for backwards compatibility only. New code should always use!=
.
Then as part of the general cleanup of Python 3, the operator was removed entirely:
Removed
<>
(use!=
instead).
Historical note
It goes back quite a long way; at least as far as Python 1.4. I found an entry in the old docs:
<>
and!=
are alternate spellings for the same operator. (I couldn't choose between ABC and C! :-)
The docs started recommending !=
with Python 1.5.2p2.
来源:https://stackoverflow.com/questions/29238871/what-is-the-python-operator