Bedingter Betreiber in Python?

Weißt du, ob Python ein Keyword oder einen Ausdruck wie in C ++ unterstützt, um Werte zurückzugeben, die auf if Bedingung basieren, alle in derselben Zeile (Die C ++, if sie mit dem Fragezeichen ausgegeben wird)

 // C++ value = ( a > 10 ? b : c ) 

2 Solutions collect form web for “Bedingter Betreiber in Python?”

Von Python 2.5 können Sie:

 value = b if a > 10 else c 

Bis dahin müssten Sie so etwas wie das Folgende tun, obwohl die Semantik nicht identisch ist, da der Kurzschlusseffekt verloren geht:

 value = [c, b][a > 10] 

Es gibt auch einen anderen Hack mit 'und … oder' aber es ist am besten, es nicht zu benutzen, da es ein unerwünschtes Verhalten in einigen Situationen hat, die zu einem schwer zu findenden Fehler führen können. Ich werde nicht einmal den Hack hier schreiben, da ich denke, es ist am besten, es nicht zu benutzen, aber man kann es auf Wikipedia lesen, wenn man will.

Einfach ist das Beste und arbeitet in jeder Version.

  if a>10: value="b" else: value="c" 
  • Warum Python Sprache hat keine schriftliche () Methode?
  • Was ist der Unterschied zwischen "2 * 2" und "2 ** 2" in Python?
  • Bedeutung der Verwendung von Kommas und Unterstrichen mit Python-Zuweisungsoperator?
  • Python-schalter nach klassenname
  • Was ist der Unterschied zwischen Semikolons in JavaScript und Python?
  • Was bedeutet ** (Doppelstern) und * (Stern) für Parameter?
  • Was bedeutet + = in Python?
  • Python's 'mit' Aussage versus 'mit .. als'
  • Wie normalisiere ich ein zweidimensionales numpy Array in Python weniger ausführlich?
  • Was ist das 'wb' in diesem Code, mit Python?
  • Split-Anforderungen Dateien in Pip
  • Python ist die beste Programmiersprache der Welt.