I completely disagree. Your snippet above is exactly what I do whenever I want to check for falsiness. If I get a None, a 0, 0.0, &quot;&quot; or [], I check for it using &quot;not x&quot;, sometimes using it for multiple return values (e.g. if I get a None or a 0 from mydict.get(&quot;param&quot;), meaning that the value wasn&#x27;t there or is 0).<p>To me, this is the absolutely most reasonable way to check for truthiness or falsiness. If you want to check for equality or identity, use == or is.