Python三元操作符
By Vincent. @2025.8.5 • 108

什么是三元操作符?
一/二/三元操作符:
☘️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中的语法糖,适当使用能让代码更简洁优雅
✅记住:适合简单的条件判断、不要过度嵌套、要优先考虑可读性