[Python-de] Datumseingabe testen

Detlef Lannert lannert at uni-duesseldorf.de
Wed Aug 28 16:36:28 EDT 2002


Rainer Fischbach <fischbach at ecs-gmbh.de> wrote:
>  [...] Schöner wäre das sicher mit einem in Python leider
> fehlenden Closure-Konstrukt, das etwas syntactical sugure für das Lambda
> bietet:
> 
> 	valid_date (y, m, d) where d, m, y = map (int, datum.split ('.') 

Meinst Du sowas wie

    valid_date(*[int(s) for s in datum.split(".", 2)])

;-) ? Falls die Reihenfolge verkehrt ist und man die Definition von
valid_date() nicht ändern will, kann man ab Python 2.3 vsl. auch schreiben

    valid_date(*[int(s) for s in datum.split(".", 2)[::-1]])

Letztlich bleibt es eine Geschmacksfrage, ob so ein Einzeiler schöner ist
als eine Folge von Anweisungen, etwa

    felder = datum.split(".", 2)
    felder.reverse()
    try:
        felder = [int(s) for s in felder]
    except:
        "meckern"
    valid_date(*felder)

_Schneller_ ist der Einzeiler nicht unbedingt ...

  Detlef




More information about the Python-de mailing list