Search code examples
cprogramming-languagesif-statementcython

Does Cython support the ternary style if statement (if ? then : else)?


I forget the technical term for the (if ? then : else) format in C/C++. Also, is this syntax supported in the Cython (a C variant of Python)?

I need to know the technical name so I can lookup if Cython supports this feature.

UPDATE: Does anyone know if Cython supports this?

Solution: In cython/python this is written as (b if a else c) compare to (a ? b : c)


Solution

  • It's called the ternary conditional operator. It's often just called the ternary operator, but being ternary is not necessarily (but in practice usually is) unique to the conditional operator.

    EDIT: In regards to whether Cython supports (x ? y : z), it appears not to based on some preliminary Googling. But Python (and theoretically Cython I think? Disclaimer: I don't use Cython) supports the same result (if/else expression) with (y if x else z). EDIT 2: The Cython documentation I've found says that it works the same as in regular Python.