Python の None を判定するには is None を使う

Python は空文字も空リストも None も if で False と判定されます。

False かどうか、でなく、None かどうかを知りたいんだ!

というときは次のように is None を使います。

s = None

if s:
	print('s is True')

else:
	print('s is False')

if s is None:
	print('s is None')

else:
	print('s is not None')

# s is False
# s is None

または is not None を使います。

s = None

if s is not None:
	print('s is not None')

else:
	print('s is None')

# s is None

Python の真偽判定はあいまいで便利ですが、それは同時に、繊細な型チェックなどを要求される場面で弱点になります。それを補うのが is None ですね。