Best practice for Python: assert command() == Fals

2019-07-20 15:22发布

问题:

I wonder what is better/best:

>>> def command():
...     return False
...
>>> assert command() == False
>>> assert command() is False
>>> assert not command()

Cheers, Markus

回答1:

The most pythonic is the third. It is equivalent to:

assert bool(command()) != False


回答2:

Coding conventions can be studied here: PEP 8 Style Guide for Python Code

There you will find:

Don't compare boolean values to True or False using ==

Yes:   if greeting:
No:    if greeting == True:
Worse: if greeting is True: