2010-06-15 22 views
13

Duplicar posibles:
Python Ternary Operatorpitón: (? X a: b) iif o

Si Python apoyaría la (x a:? B) la sintaxis de C/C++, me gustaría escribir:

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

que realmente no quiere tener un if-cheque y dos copias independientes aquí (porque eso es sólo un ejemplo más arriba, en mi código, parece mucho más complicado y sería realmente estúpido tener casi el mismo código dos veces).

Sin embargo, Python no es compatible con este operador ni con ningún operador similar (afaik). ¿Cuál es la forma más fácil/limpia/más común de hacer esto?

He buscado un poco y seen someone defining an iif(cond,iftrue,iffalse) function, inspirado en Visual Basic. Me pregunté si realmente tengo que agregar ese código y si/por qué no hay tal función básica en la biblioteca estándar.

+2

duplicados, consulte http://stackoverflow.com/questions/394809/python-ternary-operator/394814 –

Respuesta

13

Trate

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