Posted By: Anonymous
Out of these not None tests.
if val != None: if not (val is None): if val is not None:
Which one is preferable, and why?
if val is not None: # ...
is the Pythonic idiom for testing that a variable is not set to
None. This idiom has particular uses in the case of declaring keyword functions with default parameters.
is tests identity in Python. Because there is one and only one instance of
None present in a running Python script/program,
is is the optimal test for this. As Johnsyweb points out, this is discussed in PEP 8 under “Programming Recommendations”.
As for why this is preferred to
if not (val is None): # ...