DEV Community

Cover image for Python none and null difference
bluepaperbirds
bluepaperbirds

Posted on

Null python Python none and null difference

The keywords Null and None. If you are new to programming you may think they mean zero, they do not. On first sight they look alike, so what's the difference?

In many programming languages (C, Java, SQL, JavaScript) there is a Null value. Sometimes explicitly spelled as NULL or null.

Not so in Python, Python does not have a null value.

>>> x = null
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'null' is not defined
>>> 
Enter fullscreen mode Exit fullscreen mode

None type

Instead there is the None object. None effectively means there is no value or it is empty. Basically, NoneType is a data type just like int, float, etc.

You can see a type using

    >>> print(type(int))
    <class 'type'>
    >>> print(type(float))
    <class 'type'>
Enter fullscreen mode Exit fullscreen mode

You can see this for the None type too:

    >>> print(type(None))
    <class 'NoneType'>
Enter fullscreen mode Exit fullscreen mode

Assign None value

You can see above is an object (class), in Python this None object never has any functionality. Lets define a variable with the None value

    twelve = None
    print(twelve is None)
Enter fullscreen mode Exit fullscreen mode

See the result

    >>> twelve = None
    >>> print(twelve is None)
    True
    >>> 
Enter fullscreen mode Exit fullscreen mode

None means no value, not zero.

    >>> print(twelve == 0)
    False
Enter fullscreen mode Exit fullscreen mode

None and null difference

Although there is no null value in Python, you can use None like null.

    >>> x = None
    >>> if x is None:
    ...     print('x is null')
    ... else:
    ...     print('x is not null')
    ... 
    x is null
Enter fullscreen mode Exit fullscreen mode

Redefine None

Can you redefine None to be something? No, you can't do this.

    >>> None = 1
      File "<stdin>", line 1
    SyntaxError: can't assign to keyword
Enter fullscreen mode Exit fullscreen mode

Rest assured, the value of None is always empty.

Related links:

Oldest comments (0)