私はいつもif not value
のスタイルでコード化していますが、このスタイルは機能するものの、2つの潜在的な問題があるようです。Python:valでない場合、valがNoneの場合
- 完全に読み込めません。
if value is None
は確かに理解できます。 - これは、
[]
と0
のようなものがFalse
と同様に評価されるため、後で影響を受ける可能性があり(微妙なバグを引き起こす可能性があります)。
は、私はまたのような他の比較、この考え方を適用するために始めています:
if not value
if value is []
対
if not value
if value is False
VSとそのリストが行きます... 質問は、どのくらいpに行っていますか?何か?あなたのコードを安全に保ちながら、どこに線を引くのですか?
私はいつもif value is None
スタイルを使用する必要がありますか?
Pythons執筆分野の1つは、** duck ** typingです。 「None」、「[]」、「0」などの場合は、「何かが何のようにも見えない場合は何もしません」ということを意味します。テストされる値をより明確にする必要がある場合は、 '=='。 – nagisa