The ternary operator is a way to condense an if-else
statement into a single line of code. It's also known as a conditional expression. The syntax is straightforward:
value_if_true if condition else value_if_false
Python Resources
Understanding Python Arguments Understanding Default Parameters in Python Understanding Python Functions Python While Loops Python Ternary Operator Introduction to If-Else Statements Python Comparison Operators Python If Statement Python Type Conversion Python Comments Python Constants Python Boolean Python Numbers Python Strings Understanding Python Variables Python IntroductionHere's a step-by-step explanation:
- condition: This is the expression that evaluates to either
True
orFalse
. - value_if_true: This is the value that will be returned if the condition is
True
. - value_if_false: This is the value that will be returned if the condition is
False
.
Let's look at 10 examples to illustrate how this works:
Example 1: Basic Example
age = 18
status = "Adult" if age >= 18 else "Minor"
print(status) # Output: Adult
Explanation: If age
is 18 or more, status
is set to "Adult"; otherwise, it's set to "Minor".
Example 2: Checking Even or Odd
number = 5
result = "Even" if number % 2 == 0 else "Odd"
print(result) # Output: Odd
Explanation: If number
is divisible by 2, result
is "Even"; otherwise, it's "Odd".
Example 3: Comparing Two Values
a, b = 10, 20
higher = a if a > b else b
print(higher) # Output: 20
Explanation: higher
will be the greater of a
and b
.
Example 4: Positive or Negative
num = -3
sign = "Positive" if num > 0 else "Negative"
print(sign) # Output: Negative
Explanation: sign
will be "Positive" if num
is greater than 0; otherwise, it's "Negative".
Example 5: Greeting Based on Time
hour = 14
greeting = "Good morning" if hour < 12 else "Good afternoon"
print(greeting) # Output: Good afternoon
Explanation: If hour
is less than 12, greeting
is "Good morning"; otherwise, it's "Good afternoon".
Example 6: Checking for Non-Empty String
name = ""
greet = "Hello, " + name if name else "Hello, World"
print(greet) # Output: Hello, World
Explanation: If name
is not an empty string, greet
will include the name; otherwise, it defaults to "Hello, World".
Example 7: Assigning Default Value
user_input = None
value = user_input if user_input is not None else "Default Value"
print(value) # Output: Default Value
Explanation: If user_input
is None
, value
is set to "Default Value"; otherwise, it uses user_input
.
Example 8: Checking Multiple Conditions
temperature = 25
weather = "Cold" if temperature < 15 else "Warm" if temperature < 30 else "Hot"
print(weather) # Output: Warm
Explanation: This uses multiple conditions to determine if the weather is "Cold", "Warm", or "Hot".
Example 9: Calculating Discount
price = 150
discount = 20 if price > 100 else 10
final_price = price - discount
print(final_price) # Output: 130
Explanation: If price
is greater than 100, discount
is 20; otherwise, it's 10.
Example 10: Boolean to String
is_raining = True
weather_status = "Raining" if is_raining else "Not Raining"
print(weather_status) # Output: Raining
Explanation: If is_raining
is True
, weather_status
is "Raining"; otherwise, it's "Not Raining".
The ternary operator is a compact and readable way to write simple conditional statements in Python. It's particularly useful for assigning values based on conditions without using multiple lines of code.