Python lambda-Rückkehr kein statt leerer string

Habe ich die folgenden lambda-Funktion:

f = lambda x: x == None and '' or x

Sollte es eine leere Zeichenfolge zurück, wenn es bekommt Keiner als argument oder das argument, wenn es nicht gar Keiner.

Beispiel:

>>> f(4)
4
>>> f(None)
>>>

Wenn ich rufe, f(None), anstatt einen leeren string bekomme ich Keine. Ich druckte die Art, wie die Funktion wieder und ich bekam NoneType. Ich hatte erwartet, string.

Typ () liefert string, also würde ich gerne wissen, warum die lambda nicht leere Zeichenfolge zurück, wenn ich den pass nicht als argument.

Ich bin Recht neu auf Lambda-Ausdrücke, also würde ich das missverstanden haben einige Dinge darüber, wie Sie arbeiten.

  • Sie haben sich eines der Klassischen Fehler...
InformationsquelleAutor Virgiliu | 2010-04-03
Schreibe einen Kommentar