Python PEP 8の終わりに、私は読んでいます:
を使用してブール値を True または False と比較しないでください。
==
Yes: if greeting: No: if greeting == True: Worse: if greeting is True:
ブール値が の場合、その推奨事項に問題はありませんがTrue
、 をチェックすると奇妙に聞こえFalse
ます。
変数の挨拶が False かどうかを知りたい場合、次のように記述しないのはなぜですか?
if greeting == False:
私が書くif not greeting:
と、上記のステートメントとは非常に異なる意味になります。挨拶がなしの場合は?空の文字列の場合はどうなりますか? この PEP 8 の推奨事項は、ブール値を格納する変数に True または False のみを含める必要があり、これらの変数に対して None を避ける必要があることを意味しますか?
私の目には、静的型付けを使用する他の言語からの推奨事項のように見えますが、少なくとも False と比較すると、Python にはうまく適合しません。
ところで、なぜ がif greeting is True:
よりも悪いと説明されているのif greeting == True:
ですか? if greeting is False:
それもそれよりも悪いことも理解する必要がありif greeting == False:
ますか?