Life, half is memory, half is to continue.
Python三元操作符
By Vincent. @2025.8.5 • 108
Python三元操作符

什么是三元操作符?

一/二/三元操作符:

☘️Python中的操作符有三类,第一类叫一元操作符如(-a)它用于对变量 a 进行取反操作,第二类是最为常见的二元操作符如 a + b用于将两个变量相加,除此之外还有加/减/乘/除/求余/比较/逻辑等运算,另外第三类是我们重点要介绍的——三元操作符

一生二,二生三,三生万物,最多就是三元没有更多啦,多了就不简洁物极必反

⏳举个例子,你想根据明天的天气选择运动方式,如果天气好就去跑步,否则就在家做瑜伽,用代码表示这个逻辑

传统写法如下:

weather = ""
if weather == "好天气":
    activity = "室外跑步"
else:
    activity = "室内瑜伽"

用三元操作符,一行就能搞定:

activity = "室外跑步" if weather == "好天气" else "室内瑜伽"

是不是简洁多了?这就是三元操作符的魅力!

三元操作符的语法格式

语法格式与工作原理

三元操作符的基本语法格式如下:

工作原理:先判断条件是否为True,如果为真,返回操作数1,如果为假,返回操作数2,举个简单的例子如下:

# 常规if-else写法
x = 10
if x > 5:
    result = "大于5"
else:
    result = "不大于5"

# 三元操作符写法
result = "大于5" if x > 5 else "不大于5"

三元操作符的常见使用场景

1. 给变量基于条件赋值

这是最常用的场景,让变量赋值更简洁,如判断用户输入数字的奇偶性:

num = int(input("请输入一个数字"))
parity = "奇数" if num % 2 else "偶数"
print("你输入的数字是:" + parity)

2. 作为函数的返回值

在函数中直接返回条件结果,如下面根据会员卡金额判断会员等级的函数:

def get_discount_level(total):
    return "高级会员" if total > 1000 else "普通会员"
print(get_discount_level(1500)) 

3. 与列表推导式结合

让列表推导式更强大,如下面案例对列表中的数字元素偶数开立方,基数开平方:

numbers = [1, 2, 3, 4, 5]
squared = [x**2 if x % 2 else x**3 for x in numbers]
print(squared)  # 输出: [1, 8, 9, 64, 25]

4.与lambda函数结合

三元操作符在lambda中特别有用,如下面的案例判断年份是否为闰年:

is_leap_year = lambda y: "闰年" if (y % 400 == 0) or (y % 100 != 0 and y % 4 == 0) else "平年"

print(is_leap_year(2000))  # 输出: 闰年
print(is_leap_year(2021))  # 输出: 平年

5. 多重的条件判断

虽然可以嵌套,但建议不要超过2层,如下面案例根据分数判断A/B/C等级:

score = 85
grade = 'A' if score >= 90 else 'B' if score >= 80 else 'C'
print(grade)  # 输出: B

总结

三元操作符也是Python中的语法糖,适当使用能让代码更简洁优雅

✅记住:适合简单的条件判断、不要过度嵌套、要优先考虑可读性