I have a method that sometimes returns a NoneType value. So how can I question a variable that is a NoneType? I need to use if method, for example
if not new:
new = '#'
I know that is the wrong way and I hope you understand what I meant.
So how can I question a variable that is a NoneType?
Use is
operator, like this
if variable is None:
Why this works?
Since None
is the sole singleton object of NoneType
in Python, we can use is
operator to check if a variable has None
in it or not.
Quoting from is
docs,
The operators
is
andis not
test for object identity:x is y
is true if and only ifx
andy
are the same object.x is not y
yields the inverse truth value.
Since there can be only one instance of None
, is
would be the preferred way to check None
.
Hear it from the horse's mouth
Quoting Python's Coding Style Guidelines - PEP-008 (jointly defined by Guido himself),
Comparisons to singletons like
None
should always be done withis
oris not
, never the equality operators.