私はリストが空であるかどうかをチェックするための神託の方法は、以下であることを知っているので、私はこれを聞いてるのよ:「[] == False」は、「[]が成功しなかった場合、Falseに評価されるのはなぜですか?
my_list = []
if not my_list:
print "computer says no"
else:
# my_list isn't empty
print "computer says yes"
はcomputer says no
などが印刷されますので、これはFalse
真実で[]
を識別するために私をリード値。私は[]を比較しようとFalse "直接" しかし、もし、私は次を得る:
>>> my_list == False
False
>>> my_list is False
False
>>> [] == False
False
等...
ここで何が起こっているの?私は本当に明白な何かを見逃しているように感じる。
これは、プログラマが 'if variable == True:'句を使用しないようにする優れた設計です。変数がTrueの場合、 '' True(それはまったく真であり、他のものではない - ほとんどの場合、最良の方法ではない)、 ''もし変数ならば(真理値-y)のいずれかでなければなりません。 – Darthfett