Datentyp None

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Helex
User
Beiträge: 33
Registriert: Mittwoch 21. Februar 2007, 09:52
Wohnort: Dessau, Sachsen-Anhalt
Kontaktdaten:

Freitag 4. Mai 2007, 12:08

Hallo,

ich programmiere nun schon eine Weile mit Python herum und frage mich jetzt, was man mit dem Datentyp None alles so anstellen. Wo wird er praktisch in Programmen eingesetzt? Muss man sich das wie null aus Java vorstellen?

Ich hab mir eine Beispielfunktion gebastelt, die rein gar nichts bringt aber eben None als Datentyp zurückgibt:

Code: Alles auswählen

def func():
   pass;
print func()
>>> None
Vielen dank für die Aufklärung :)

Grüße Helex
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Freitag 4. Mai 2007, 12:28

Es wird durchaus wie null in Java verwendet, um eben anzuzeigen, dass kein Wert vorhanden ist.

Beispiele aus den Builtins:

* dict.get() gibt standardmäßig None zurück, wenn der Key nicht im Dict existiert
* Funktionen geben `None` zurück, wenn am Ende kein `return value` oder nur `return` steht - das entspricht den "Prozeduren" aus Sprachen wie Pascal oder Basic, oder `void` in C oder Java
* Viele Funktionsparameter haben `None` als Defaultwert, der angenommen wird, wenn der Parameter nicht als Argument übergeben wird


Achja: `None` ist kein Typ, sondern eine (die einzige) Instanz des Typs `NoneType` :)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
Helex
User
Beiträge: 33
Registriert: Mittwoch 21. Februar 2007, 09:52
Wohnort: Dessau, Sachsen-Anhalt
Kontaktdaten:

Freitag 4. Mai 2007, 12:40

Danke Birkenfeld für die ausführliche Antwort, welche Licht in mein dunkles Wissen über den Typ NoneType gebracht hat.
Antworten