重複の可能性:
「ifnot []」が成功したときに、「[] == False」がFalseと評価されるのはなぜですか?
論理テストa==TrueがFalseを生成する可能性はありますが、a:が機能する場合はどうでしょうか。以下のコードを参照してください
>>> a = bin(0)
>>> if a:
print a == True, 'HOWWWW???????'
False HOWWWW???????
>>> type(a)
<type 'str'>
>>>
重複の可能性:
「ifnot []」が成功したときに、「[] == False」がFalseと評価されるのはなぜですか?
論理テストa==TrueがFalseを生成する可能性はありますが、a:が機能する場合はどうでしょうか。以下のコードを参照してください
>>> a = bin(0)
>>> if a:
print a == True, 'HOWWWW???????'
False HOWWWW???????
>>> type(a)
<type 'str'>
>>>
ステートメントは、if
値がtrueに等しいかどうかに依存しません。Trueに等しいかどうかによって異なりますbool(a)
。この場合はTrueです。空でない文字列は、ブール値のコンテキストではtrueと見なされます。ドキュメントを参照してください。
OK、Pythonではこの方法で文字列をテストできないようです:
>>> a == False
False
>>> a == True
False
>>>
文字列a
の場合、if a
と同等ですif len(a)!=0