pythonsyntaxternary-operatorsyntax-rules

How can I closely achieve ?: from C++/C# in Python?


In C# I could easily write the following:

string stringValue = string.IsNullOrEmpty( otherString ) ? defaultString : otherString;

Is there a quick way of doing the same thing in Python or am I stuck with an 'if' statement?


Solution

  • In Python 2.5, there is

    A if C else B
    

    which behaves a lot like ?: in C. However, it's frowned upon for two reasons: readability, and the fact that there's usually a simpler way to approach the problem. For instance, in your case:

    stringValue = otherString or defaultString