C i wiele innych języków ma operatora conditional (aka ternary). Pozwala to na dokonywanie bardzo zwięzłych wyborów między dwiema wartościami w oparciu o prawdziwość warunku, który sprawia, że wyrażenia, w tym przypisania, są bardzo zwięzłe.python? (warunkowy/ternarny) operator dla zadań
Tęsknię za tym, ponieważ uważam, że mój kod ma wiele zleceń warunkowych, które mają cztery wiersze w Pythonie:
if condition:
var = something
else:
var = something_else
Natomiast w C byłoby:
var = condition? something: something_else;
Raz lub dwa razy w pliku jest w porządku, ale jeśli masz dużo przypisań warunkowych, liczba linii eksploduje, a co najgorsze, przyciąga do nich oko.
Podoba mi się zwięzłość warunkowego operatora, ponieważ utrzymuje rzeczy, które uważam za nie strategiczne, odciągając mnie od przeglądania kodu.
W Pythonie, czy istnieją jakieś sztuczki, których można użyć do przeniesienia zadania na pojedynczą linię, aby przybliżyć korzyści operatora warunkowego, tak jak je opisałem?
To "zmienna = warunek i coś lub coś_element" nawet nie działa. Na przykład "Prawda i fałsz lub prawda" zwraca True, natomiast "Prawda? Fałsz: prawda" zwróci Fałsz. – karadoc
Something or Something_else działa dobrze, prawda? Na przykład, jeśli coś było puste, ustawiałbyś go na coś innego? – Breedly