Does Python Have a Ternary Conditional Operator?
The Problem
You know that some programming languages make use of a ternary operator to shorten if-else code blocks, but does Python support this kind of syntax? If so, what is the structure of a Python ternary operator?
The Solution
The ternary operator is used to shorten the code needed to write if-else blocks.
The syntax of ternary operators naturally differs between languages, but in most cases, the operator handles three arguments: the comparison, the result if true, and the result if false.
A normal if-else block takes at least four lines of code. For example,
if x > y:
z = x
else:
z = y
The ternary operator lets you shorten an if-else block into a single line of code.
The Python Ternary Operator
The Python ternary operator follows this syntax:
x if condition else y
The operator checks a condition, and returns x if the condition is true or y if it’s not.
Here is an example of a ternary operator use case:
x = 10
y = 5
z = x if x > y else y
print("z = " + str(z))
Output:
z = 10
The ternary operator above checks if x is greater than y, and if it is, assigns the value of x (10) to the variable z.
Further reading
If you’re looking for information on Python application monitoring, check out these links from our blog:
Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.