[Python-de] hostname aus os.environ

Diez Roggisch deets at web.de
Mo Mär 18 13:49:41 CET 2013


>
>
>
>wert = d[LEER]
>
>gibt einen Fehler, während

Nur wenn LEER nicht existiert in d natürlich.

>
>wert = d.get(LEER)
>
>auf None gesetzt wird.
>
>D.h. das Objekt existiert dann und würde bei Aufruf keinen "not defined"
>Fehler senden.


Nein! Es wird *nicht* auf None gesetzt. Es wird nur statt KeyError zu
werfen, None zurückgeliefert. Oder ein anderen Wert wenn du willst:


Das kannst du auch schnell selbst prüfen:

>>> d = {}
>>> d.get("hallo", "pillepalle")
'pillepalle'
>>> d
{}
>>>

Wenn du etwas setzen willst, das noch nicht gesetzt ist, dann verwendest
du entweder setdefault, oder ein collections.defaultdict

>>> d = {}
>>> d.setdefault("foobar", "wert")
'wert'
>>> d
{ "foobar" : "wert" }
>>>

Diez




Mehr Informationen über die Mailingliste python-de