I’ve always thought of the if not x is None version to be more clear, but Google’s style guide and PEP-8 both use if x is not None. Are there any minor performance differences (I’m assuming not), and is there any case where one really doesn’t fit (making the other a clear winner for my convention)?*
*I’m referring to any singleton, rather than just None.
…to compare singletons like
None. Use is or is not.
There’s no performance difference, as they compile to the same bytecode:
Stylistically, I try to avoid
not x is y, a human reader might misunderstand it as(not x) is y. If I writex is not ythen there is no ambiguity.