Loading lessons...
None
None is a special value that means "nothing here". It is its own type, NoneType.
None means no value
python
x = None
print(x)
### None
print(type(x))
### <class 'NoneType'>
A default placeholder
Functions often return None when there is nothing to return:
python
def greet(name):
if name:
return "Hello " + name
### no return means None
print(greet("Ada"))
### Hello Ada
print(greet(""))
### None
Check for None
Use is or is not to test for None:
python
x = None
if x is None:
print("Nothing here")
The identity test is None is the recommended style.
None is falsy
In a boolean context, None counts as false:
python
if None:
print("won't run")
else:
print("None is falsy")
Common uses
- Optional function arguments:
def build(name=None): - Placeholder before a real value is assigned.
- Signals from functions that have no result.
TL;DR
Nonemeans "no value" and has type NoneType.- Functions without a return give None.
- Test with
is Noneandis not None. - In conditions, None is falsy.