Categories: Python

【Python】Noneとは?使い方や評価について

この記事では、PythonのNoneについて解説します。

Noneは、組み込み定数の1つで値が存在しない場合に使います。

それでは、Noneの型や使い方、判定方法を詳しく見ていきましょう!

None型とは?

Pythonでは、値が存在しない場合にNoneType型のNoneという値を使って表現します。他の言語では、よくnullと表現されます。

x = None
print(x, type(x))  # None <class 'NoneType'>

Noneは、TrueFalseなどと同じ「組み込み定数」なので値を代入することはできません。

Noneは、「値の非存在を表すのに使用される」ということを覚えておきましょう❗️

Noneの評価

Noneは、if文で評価されると「False」として扱われます。

if None:
    print('Trueです')
else:
    print('Falseです')

実行結果

Falseです

オブジェクトがTrueFalseか忘れてしまった場合は、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演算子で判定することができます。

余談として同じ組み込み定数であるTrueFalseでもis演算子で比較することができます。

flag = True

if flag is True:
    print(True)

実行結果

True

以下のようにTrueとして認識される値との比較には「==」を使います。

flag = 1

if flag == True:
    print(True)

実行結果

True

まとめ

この記事では、PyhtonのNoneについて解説しました。

Noneを見かけたら「その変数には値が無い状態なんだなぁ」と眺めましょう!

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

5か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago