この記事では、PythonのNoneについて解説します。
Noneは、組み込み定数の1つで値が存在しない場合に使います。
それでは、Noneの型や使い方、判定方法を詳しく見ていきましょう!
None型とは?
Pythonでは、値が存在しない場合にNoneType型のNoneという値を使って表現します。他の言語では、よくnull
と表現されます。
x = None
print(x, type(x)) # None <class 'NoneType'>
None
は、True
やFalse
などと同じ「組み込み定数」なので値を代入することはできません。
Noneは、「値の非存在を表すのに使用される」ということを覚えておきましょう❗️
Noneの評価
None
は、if
文で評価されると「False
」として扱われます。
if None:
print('Trueです')
else:
print('Falseです')
実行結果
Falseです
オブジェクトがTrue
かFalse
か忘れてしまった場合は、bool()
で確認しましょう!
print(bool('')) # False
print(bool('abc')) # True
print(bool([])) # False
print(bool([1, 2, 3])) # True
print(bool(None)) # False
None判定
None
を判定する場合は、==
演算子ではなくis
演算子を使うことが推奨されています。==
を使って値を比較するよりもis
演算子でid
を比較する方が高速です。
obj = '適当なオブジェクト'
print(obj is None) # False
none_obj = None
print(none_obj is None) # True
id
とは、オブジェクトの識別番号でインスタンスごとに異なる番号を持っています。組み込み定数であるNone
には、必ず1つしかインスタンスが存在しません。
そのため、必ずid
が一緒になるのでis
演算子で判定することができます。
余談として同じ組み込み定数であるTrue
やFalse
でもis
演算子で比較することができます。
flag = True
if flag is True:
print(True)
実行結果
True
以下のようにTrue
として認識される値との比較には「==
」を使います。
flag = 1
if flag == True:
print(True)
実行結果
True
まとめ
この記事では、PyhtonのNone
について解説しました。
None
を見かけたら「その変数には値が無い状態なんだなぁ」と眺めましょう!
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ