Pythonic emptiness checking

Sibylle Koczian nulla.epistola at web.de
Wed Apr 29 15:51:15 CEST 2009


Filip Gruszczyński schrieb:
> One of the Python Zen rules is Explicit is better implicit. And yet
> it's ok to do:
> 
> if x:
>    do_sth
> 
> when x is string or list. Since it's very comfy, I've got nothing
> against though. I am just curious, why is it so?
> 
> And one more thing: is it ok to do
> 
> if x:
> 
> instead of
> 
> if x is not None:
> 
> Because I often encounter it and would like to know, if I can simplify
> it. Especially that I liked similar construction in C/C++.
> 
Depends on what you need. If your x is 0 or 0.0, '', the empty list,
dictionary or set, or a class instance with __len__ 0 or __nonzero__
false, then x is false, but "x is not None" is true.

HTH
Sibylle




More information about the Python-list mailing list