ich mit einer Python-Version zu tragen habe < 2.5 (es ist 2.4.3 für Einzelheiten)Der beste Weg, ternäre conditionals in Python zu tun <2,5
Es scheint, dass ternäre Operatoren waren einleiten in Python 2.5 starten. Für diejenigen, die in Python> = 2.5 aussehen wie diese nicht vertraut, ternäre Operatoren sind:
def do_ternary(flag):
return "foo" if flag else "bar"
würde Ich mag einige Lösungen wissen, dass dies in den frühen Versionen von Python zu emulieren. Ich kann sicher tun, wenn ... sonst, aber ich bin auf der Suche nach etwas mehr Python, dass ich nicht schämen würde, einige Produktions-Code zu setzen :)
Vielen Dank für die Hilfe!
ist Ihr Einwand gegen wenn Flag: zurück "foo" sonst: zurück "bar", dass es nicht stilvoll genug ist? oder gibt es einen konkreten Grund? – mfrankli
gut die Logik ist in Ordnung, aber es ist kein ternärer Operator. Es ist nicht wirklich eine Frage von "stilvoll" oder nicht, es geht eher um Code-Faktorisierung und das Schreiben von sauberem Code. Ich mag nicht wirklich ganze Bäume, wenn ... andere Aussagen in meinem Code. –
Wenn Sie etwas tun wollen, wenn ein Test wahr ist, und etwas anderes, dann erscheint '' if ...: ... else: ... '' ziemlich vernünftig. Verwechsle nicht _terse_ und _readable_. Lesbar sollte immer gewinnen, wenn Sie beides nicht können. –