• BassTurd@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    edit-2
    2 days ago

    Edit… I reread your comment and realized that python does it differently and that everything I typed was irrelevant… I’m still gonna leave it if anyone is interested in ternary expressions, but I suppose the answer to your question is, that’s just how python does it.

    That’s how ternary operators are designed to work. In essence, if you’re looking to do a single line if/then, you can directly assign a variable from the result of a ternary expression.

    As an example, I was scripting something earlier where there may or may not be a value returned from a function, but I still had to do something with that return value later. For this thing, I was using JavaScript.

    I ended up with:

    return platform == "name"  ? "Option 1" : "Option 2"
    

    If I were to write that out in a typical if/then it would be:

    if (platform == "name") {
        return "option 1"
    } else {
        return "option 2"
    }
    
    

    A ternary starts with a boolean expression, then the if true value, else the false value. That’s returned to either a variable or if in a function like my example, to the object calling the function. It’s just a way to write less code that in many cases is easier to read.