Python Ternary Operator

Summary: in this tutorial, you’ll learn about the Python ternary operator and how to use it to make your code more concise.

Introduction to Python Ternary Operator #

The following program prompts you for your age and determines the ticket price based on it:

age = input('Enter your age:')

if int(age) >= 18:
    ticket_price = 20
else:
    ticket_price = 5

print(f"The ticket price is {ticket_price}")Code language: Python (python)

Here is the output when you enter 18:

Enter your age:18
The ticket price is $20Code language: Python (python)

In this example, the following if...else statement assigns 20 to the ticket_price if the age is greater than or equal to 18. Otherwise, it assigns the ticket_price 5:

if int(age) >= 18:
    ticket_price = 20
else:
    ticket_price = 5Code language: Python (python)

To make it more concise, you can use an alternative syntax like this:

ticket_price = 20 if int(age) >= 18 else 5Code language: Python (python)

In this statement, the left side of the assignment operator (=) is the variable ticket_price.

The expression on the right side returns 20 if the age is greater than or equal to 18 or 5 otherwise.

The following syntax is called a ternary operator in Python:

value_if_true if condition else value_if_falseCode language: Python (python)

The ternary operator evaluates the condition. If the result is True, it returns the value_if_true. Otherwise, it returns the value_if_false.

The ternary operator is equivalent to the following if...else statement:

if condition:
    value_if_true
else:
    value_if_falseCode language: Python (python)

Note that you have been programming languages such as C# or Java, and you’re familiar with the following ternary operator syntax:

condition ? value_if_true : value_if_falseCode language: Python (python)

However, Python doesn’t support this ternary operator syntax.

The following program uses the ternary operator instead of the if statement:

age = input('Enter your age:')

ticket_price = 20 if int(age) >= 18 else 5

print(f"The ticket price is {ticket_price}")Code language: Python (python)

Summary #

  • The Python ternary operator is value_if_true if condition else value_if_false.
  • Use the ternary operator to make your code more concise.
Did you find this tutorial helpful ?