2010-06-15 13 views
13

Mögliche Duplizieren:
Python Ternary OperatorPython: (? X a: b) IIF oder

Wenn Python würde unterstützen die (x a: b) Syntax von C/C++, ich würde schreiben:

print paid ? ("paid: " + str(paid) + " €") : "not paid" 

ich wirklich nicht will, einen if-Check und zwei unabhängige Drucke hier haben (denn das ist nur ein Beispiel oben ist, in meinem Code, es sieht viel komplizierter aus und wäre wirklich dumm, fast den gleichen Code zweimal zu haben).

Python unterstützt diesen Operator oder einen ähnlichen Operator (afaik) jedoch nicht. Was ist der einfachste/sauberste/gebräuchlichste Weg dies zu tun?

Ich habe ein wenig gesucht und seen someone defining an iif(cond,iftrue,iffalse) function, inspiriert von Visual Basic. Ich habe mich gefragt, ob ich diesen Code wirklich hinzufügen muss und ob/warum es in der Standardbibliothek keine solche Basisfunktion gibt.

+2

Duplizieren finden http://stackoverflow.com/questions/394809/python-ternary-operator/394814 –

Antwort

13

Versuchen

print ("paid: " + str(paid) + " €") if paid else "not paid"