pin_drop当前位置:知识文库 ❯ 图文

Python三元表达式 - 条件赋值


概述

三元表达式(又称条件表达式)是 Python 中一种简洁的条件赋值方式,它将 if-else 语句浓缩为一行表达式。三元表达式适合简单的条件赋值场景,使代码更加简洁。


语法

代码示例

value_if_true if condition else value_if_false
部分 说明
value_if_true 条件为真时的值
condition 条件表达式
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语句。

标签: 三元表达式 条件表达式 Python基础 条件赋值 流程控制 列表推导式 代码简洁

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Python if-elif-else多条件判断 下一篇: Python while循环

poll相关推荐