Python不等式:!= vs not ==

The*_*uhn 12 python operators

我今天在编写Python时意识到可以将不等式运算符编写为a!=bnot a==b.这让我很好奇:

  1. 两种方式都表现完全相同,还是存在一些微妙的差异?
  2. 有没有理由使用一个而不是另一个?比另一个更常用吗?

Ign*_*ams 18

  1. ==调用__eq__().如果存在则!=调用__ne__(),否则相当于not ==.
  2. 除非1中的差异很重要.


Jus*_*son 10

请注意你的括号.

>>> not "test" == True
True
>>> not "test" and True
False
Run Code Online (Sandbox Code Playgroud)

==优先于not.但是not,and具有相同的优先权,所以

Python运算符优先级