Quick question about None and comparisons

Chris Rebert clp at rebertia.com
Mon Nov 24 21:50:02 EST 2008


On Mon, Nov 24, 2008 at 5:52 PM, Giampaolo Rodola' <gnewsg at gmail.com> wrote:
> Sorry for the title but I didn't find anything more appropriate.
> To have a less verbose code would it be ok doing:
>
> if a > b:
>
> ...instead of:
>
> if a is not None and a > b:
>
> ...?
> Is there any hidden complication behind that?

Yes. In Python 3.0, doing non-equality comparisons with None will
raise a TypeError because it's nonsensical to ask whether two objects
of unrelated types are less than or greater than each other (e.g Is
[1,2] > "ab" ?).
Assuming `a` will never take on a value considered boolean false, you
can do `if a and a > b:` instead.

Cheers,
Chris
-- 
Follow the path of the Iguana...
http://rebertia.com

> Thanks in advance
>
> --- Giampaolo
> code.google.com/p/pyftpdlib/
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list