On 7/28/19 5:55 AM, Jonathan Moules wrote:
> But this appears to be explicitly called out as being "Worse" in PEP8:
> 
> """
> Don't compare boolean values to True or False using ==.
> 
> Yes:   if greeting:
> No:    if greeting == True:
> Worse: if greeting is True:
> """

Yet the recommended solution to the problem of wanting a default
argument of an empty list is something like this:

def foo(bar=False);
    if bar is False:
        bar = []

    ....

Clearly in this case the expression "not bar" would be incorrect.

There's a difference between looking for a particular identity or
sentinel, and checking for truthiness or falsiness.

So I guess it all depends on what you need to do. If you just need to
check truthiness, just do "if greeting"  If you need to know if the
variable is some particular sentinel, use the "if greeting is whatever".
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to