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