None

Zusätzlich zu den Standardtypen wie Zeichenketten und Zahlen verfügt Python über einen speziellen Datentyp, der ein einziges spezielles Datenobjekt namens None definiert. Wie der Name schon sagt, wird None verwendet, um einen leeren Wert darzustellen. Er taucht in verschiedenen Formen in Python auf.

None ist in der alltäglichen Python-Programmierung oft als Platzhalter nützlich, um eine Datenstruktur zu kennzeichnen, an der irgendwann sinnvolle Daten gefunden werden können, auch wenn diese Daten noch nicht berechnet wurden.

Das Vorhandensein von None lässt sich leicht überprüfen, da es in Python nur eine Instanz von None gibt (alle Verweise auf None verweisen auf dasselbe Objekt), und None ist nur mit sich selbst identisch:

>>> MyType = type(None)
>>> MyType() is None
True

None ist falsy

In Python verlassen wir uns oft darauf, dass None falsy ist:

>>> bool(None)
False

So können wir z.B. in einer if-Anweisung überprüfen, ob Zeichenketten leer sind:

>>> myval = ""
>>> if not myval:
...     print("No value was specified.")
...
No value was specified.

None steht für Leere

>>> titles = {7.0: "Data Types", 7.1: "Lists", 7.2: "Tuples"}
>>> third_title = titles.get("7.3")
>>> print(third_title)
None

Der Standardrückgabewert einer Funktion ist None

Eine Prozedur in Python ist beispielsweise nur eine Funktion, die nicht explizit einen Wert zurückgibt, was bedeutet, dass sie standardmäßig None zurückgibt:

>>> def myfunc():
...     pass
...
>>> print(myfunc())
None