2010-06-15 14 views
13

Możliwe zduplikowane:
Python Ternary Operatorpyton: (? X a: b) IIF lub

Jeśli Pythona by wspierać (xa: b) program z C/C++ Chciałbym napisać:

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

ja naprawdę nie chcę mieć iF-czek oraz dwa niezależne wydruki tutaj (bo to jest tylko przykład powyżej, w moim kodu, wygląda o wiele bardziej skomplikowanie i naprawdę byłoby głupio mieć dwa razy ten sam kod).

Jednak Python nie obsługuje tego operatora ani podobnego operatora (afaik). Jaki jest najłatwiejszy/najczystszy/najczęstszy sposób na zrobienie tego?

Szukałem trochę i seen someone defining an iif(cond,iftrue,iffalse) function, zainspirowany Visual Basic. Zastanawiałem się, czy naprawdę muszę dodać ten kod i czy/dlaczego nie ma takiej podstawowej funkcji w standardowej bibliotece.

+2

Powiel patrz http://stackoverflow.com/questions/394809/python-ternary-operator/394814 –

Odpowiedz

13

Spróbuj

print ("paid: " + str(paid) + " €") if paid else "not paid" 
Powiązane problemy