私は次の2つのコードブロックが同じ方法で評価されることを期待していますが、そうではないようです。たとえば、次のようになります。複数の条件を持つ条件文はどのように評価されますか?
if True or False and False:
print('True')
else:
print('False')
Trueが出力されます。しかしこれで:
if (True or False) and False:
print('True')
else:
print('False')
偽が表示されます。 、(True or False) and False
= True and False
= False
置換によって
True or False
=True
True and False
=False
:ここでは、ロジックの私の内訳です。
どうしてですか?
これは、短絡とは関係ありません。非短絡評価は同じ結果をもたらしたであろう。 – user2357112
あなたはまだ優先順位については何も言っていません。あなたの答えの論理によって、「偽と真実または真」は「偽」になります。 – user2357112
@ user2357112正しい情報を含めるように答えを更新しました。間違いや批判を指摘してくれてありがとう、非常に感謝! – Li357