Von Python 2.5 ab Sie tun können:
value = b if a > 10 else c
Früher hätten Sie so etwas wie die folgenden tun, obwohl die Semantik als der Kurzschluss-Effekt nicht identisch ist verloren:
Es gibt auch einen anderen Hack mit 'und ... oder', aber es ist am besten, ihn nicht zu verwenden, da er in einigen Situationen ein unerwünschtes Verhalten hat, das zu einem schwer zu findenden Fehler führen kann. Ich werde den Hack hier nicht einmal schreiben, da ich denke, dass es am besten ist, ihn nicht zu benutzen, aber Sie können darüber auf Wikipedia lesen, wenn Sie wollen.
Dieser C++ - Operator heißt der "Bedingungsoperator" oder der "ternäre Operator". –
Duplizieren Sie alle diese: http://StackOverflow.com/search?q=%5Bpython%5D+ternary. Konkret: http://stackoverflow.com/questions/135303/how-can-i-closely-achieve-from-cc-in-python –
mögliche Duplikate von [Hat Python einen ternären Bedingungsoperator?] (Http: //stackoverflow.com/questions/394809/does-python-have-a-ternary-conditional-operator) – ks1322