If not, is it possible to simulate one using other language constructs?
Yes, it was added in version 2.5.
The syntax is:
a if condition else b
condition is evaluated, then either
b is returned based on the Boolean value of
condition evaluates to True
a is returned, else
b is returned.
>>> 'true' if True else 'false' 'true' >>> 'true' if False else 'false' 'false'
Keep in mind that it's frowned upon by some Pythonistas for several reasons:
If you're having trouble remembering the order, then remember that if you read it out loud, you (almost) say what you mean. For example,
x = 4 if b > 8 else 9 is read aloud as
x will be 4 if b is greater than 8 otherwise 9.