C y muchos otros idiomas tienen un operador conditional (aka ternary). Esto le permite tomar decisiones muy escuetas entre dos valores en función de la verdad de una condición, lo que hace que las expresiones, incluidas las asignaciones, sean muy concisas.python? (condicional/ternario) operador para las asignaciones
echo esto porque me parece que mi código tiene un montón de asignaciones condicionales que tienen cuatro líneas en Python:
if condition:
var = something
else:
var = something_else
Mientras que en C que sería:
var = condition? something: something_else;
Una o dos veces en un archivo está bien, pero si tienes muchas asignaciones condicionales, el número de líneas explota y, lo peor de todo, el ojo se ve atraído por ellas.
Me gusta la concisión del operador condicional porque mantiene las cosas que considero no estratégicas que me distraen al rozar el código.
Entonces, en Python, ¿hay algún truco que pueda usar para obtener la asignación en una sola línea para aproximar las ventajas del operador condicional como las describí?
Esa "variable = condición y algo o algo_ello" ni siquiera funciona. Por ejemplo, "True and False or True" devuelve True, mientras que "True? False: True" devolverá False. – karadoc
Something or Something_else funciona bien, ¿verdad? Por ejemplo, si algo era nulo, ¿lo configuraría para something_else? – Breedly