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