pin_drop当前位置:知识文库 ❯ 图文
Python三元表达式 - 条件赋值
概述
三元表达式(又称条件表达式)是 Python 中一种简洁的条件赋值方式,它将 if-else 语句浓缩为一行表达式。三元表达式适合简单的条件赋值场景,使代码更加简洁。
语法
代码示例
value_if_true if condition else value_if_false基本用法
简单条件赋值
代码示例
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)输出:
代码示例
成年与 if-else 对比
代码示例
# if-else 写法
score = 85
if score >= 60:
result = "及格"
else:
result = "不及格"
# 三元表达式写法
result = "及格" if score >= 60 else "不及格"常见应用场景
默认值设置
代码示例
name = ""
display = name if name else "匿名用户"
print(display)输出:
代码示例
匿名用户条件计算
代码示例
x = 10
y = 0
result = x / y if y != 0 else "除数不能为零"
print(result)输出:
代码示例
除数不能为零列表推导式中使用
代码示例
nums = [1, 2, 3, 4, 5]
labels = ["偶" if x % 2 == 0 else "奇" for x in nums]
print(labels)输出:
代码示例
['奇', '偶', '奇', '偶', '奇']嵌套三元表达式
三元表达式可以嵌套,但可读性会下降:
代码示例
score = 85
grade = "优秀" if score >= 90 else "良好" if score >= 80 else "及格" if score >= 60 else "不及格"
print(grade)输出:
代码示例
良好建议:嵌套三元表达式可读性差,复杂逻辑应使用
if-elif-else。
注意事项
⚠️ 不要过度使用:三元表达式适合简单的条件赋值,复杂逻辑应使用
if-else。
⚠️ 执行顺序:先计算条件,再根据结果计算对应分支,不会两个分支都执行。
⚠️ 可读性优先:如果三元表达式太长,应换用
if-else语句。
小结
-
三元表达式语法:
值1 if 条件 else 值2 -
适用场景:适合简单的条件赋值场景
-
嵌套使用:可以嵌套,但可读性差
-
复杂逻辑:应使用
if-elif-else
练习题
练习1
使用三元表达式,编写一个函数 abs_value(n),返回一个数的绝对值。
练习2
使用三元表达式,将列表 nums = [1, -2, 3, -4, 5] 中的负数替换为 0,正数保持不变,生成新列表。
常见问题
什么是Python三元表达式?
三元表达式(又称条件表达式)是Python中一种简洁的条件赋值方式,它将if-else语句浓缩为一行表达式,语法格式为:值1 if 条件 else 值2。
三元表达式可以嵌套使用吗?
三元表达式可以嵌套,但可读性会显著下降。对于复杂逻辑,建议使用if-elif-else语句替代。
三元表达式的执行顺序是什么?
三元表达式先计算条件,再根据结果计算对应分支,不会两个分支都执行。
三元表达式适合哪些场景?
三元表达式适合简单的条件赋值场景,如默认值设置、条件计算、列表推导式中使用等。复杂逻辑应使用if-else语句。
使用三元表达式有什么注意事项?
不要过度使用三元表达式,它适合简单的条件赋值;执行顺序是先计算条件再计算对应分支;可读性优先,如果表达式太长应换用if-else语句。
本文涉及AI创作
内容由AI创作,请仔细甄别