時々NoneType値を返すメソッドがあります。NoneTypeである変数を問い合わせるにはどうすればいいでしょうか?たとえば、ifメソッドを使用する必要があります。
if not new:
new = '#'
それが間違ったやり方であることは承知していますが、私の言いたいことを理解していただければ幸いです。
ベストアンサー1
では、NoneType である変数を質問するにはどうすればよいでしょうか?
is
演算子を次のように使用します
if variable is None:
なぜこれが機能するのでしょうか?
以来None
は、NoneType
Python では、is
演算子を使用して変数None
に含まれているかどうかを確認できます。
引用元is
ドキュメント、
演算子
is
と はis not
オブジェクトの同一性をテストします。とが同じオブジェクトであるx is y
場合にのみ true になります。は逆の真理値を生成します。x
y
x is not y
のインスタンスは 1 つしか存在しないためNone
、is
をチェックする方法が推奨されますNone
。
当事者の口から聞く
引用Python のコーディング スタイル ガイドライン - PEP-008(グイド自身による共同定義)
のようなシングルトンとの比較は、常にor
None
を使用して行う必要がありis
is not
、等価演算子は使用しないでください。