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 ですね。