Python 中的三元表达式(也常被称作三目运算符),它是一种简洁的条件判断语法,可以用一行代码实现简单的 if-else 逻辑。
三元表达式的基本用法
Python 中三元表达式的语法格式和其他语言(如 Java、C++)略有不同,核心结构如下:
# 基本语法
结果1 if 条件 else 结果2
逻辑解释:如果 条件 为 True,整个表达式返回 结果1;如果条件为 False,则返回 结果2。
简单示例
# 常规 if-else 写法 #
score = 85
if score >= 60:
result = "及格"
else:
result = "不及格"
print(result) # 输出:及格
# 三元表达式写法(等价上面的逻辑)#
score = 85
result = "及格" if score >= 60 else "不及格"
print(result) # 输出:及格
进阶示例(嵌套三元表达式)
三元表达式支持嵌套,但不建议嵌套过深(可读性会变差),适用于简单的多层判断:
score = 95
# 嵌套三元表达式:判断优秀/及格/不及格
result = "优秀" if score >= 90 else ("及格" if score >= 60 else "不及格")
print(result) # 输出:优秀
实用场景示例
比如给变量赋默认值,是三元表达式最常用的场景之一:
# 如果 name 为空,默认赋值为 "游客"
name = ""
username = name if name else "游客"
print(username) # 输出:游客
注意事项
三元表达式仅适用于简单的条件判断,如果逻辑复杂(比如包含多个条件、循环、复杂计算),建议还是用常规的 if-else 语句,避免代码可读性下降。
三元表达式的执行顺序是:先判断条件,再返回对应结果,因此
结果1和结果2中如果有计算逻辑,只有符合条件的那一个会被执行。
# 验证:只有条件满足的一侧会执行
a = 10
res = a * 2 if a > 5 else a / 0 # 不会报错,因为 a>5 为True,a/0 不会执行
print(res) # 输出:20
总结
Python 三元表达式的核心语法是
结果1 if 条件 else 结果2,是简化简单 if-else 逻辑的常用写法。适合场景:变量赋值、简单条件判断(如默认值设置),避免嵌套过深影响可读性。
执行逻辑:条件为 True 时返回「结果 1」,否则返回「结果 2」,仅执行符合条件的一侧代码。
评论