13

今日、Python を書いているときに、不等式演算子をa!=borとして記述できることに気付きましたnot a==b。これは私に興味をそそられました:

  1. どちらの方法もまったく同じように動作しますか、それとも微妙な違いがありますか?
  2. どちらか一方を使用する理由はありますか?一方が他方よりも一般的に使用されていますか?
4

2 に答える 2

21
  1. ==を呼び出します__eq__()!=存在する場合は呼び出し__ne__()、存在しない場合は と同等not ==です。
  2. 1の違いが重要でない限り、そうではありません。
于 2012-05-03T04:12:24.213 に答える
10

括弧に注意してください。

>>> not "test" == True
True
>>> not "test" and True
False

==よりも優先されnotます。しかしnotandと の優先順位は同じなので、

Python 演算子の優先順位

于 2012-05-03T04:16:14.443 に答える