[Python-de] Zuweisungen bei if?

Stefan Behnel python-de at behnel.de
Di Apr 10 12:27:12 CEST 2012


Ulli Horlacher, 10.04.2012 11:59:
>   def match(x,s,f=None):
>     global _
>     _ = [ '' ]

Örks - globale Variablen für Ergebnisse? Und dann auch noch ohne
vernünftigen Namen? Das ist aber ganz schön böse.


>     if f:
>       m = re.search(x,s,flags=f)
>     else:
>       m = re.search(x,s)

Schau mal in die Doku von re.search() rein, da steht "flags=0". Wenn du
also oben in der Signatur statt "f=None" schreibst "flags=0", kannst du die
vier Zeilen verkürzen zu

    m = re.search(x, s, flags=flags)


>     if m and m.groups: _.extend(m.groups())
>     return m

Warum nicht einfach "return m.groups()"? Oder auch

    return m.groups() if m else None

Brauchst du noch mehr als Ergebnis?

Ansonsten gilt das, was Christopher Arndt geschrieben hat: warum regexen
benutzen, wenn es auch sauber geht?

Stefan


Mehr Informationen über die Mailingliste python-de