Python三元表达式语法为value_if_true if condition else value_if_false,是返回值的表达式,适用于简单赋值、参数传递等场景,不可替代多语句或复杂逻辑的if-else。
Python 中的三元表达式(也叫条件表达式)是一种简洁写法,用来在一行中根据条件选择两个值中的一个。它不是必须的,但用对了能显著提升代码可读性和紧凑性。
标准形式是:value_if_true if condition else value_if_false
注意顺序:先写“真时的值”,再写 if 条件,最后是 else 后的“假时的值”。这和某些语言(如 C、Java)的 condition ? a : b 顺序不同,容易写反。
适合替代简单 if-else 赋值语句,避免多行缩进。
立即学习“Python免费学习笔记(深入)”;
name = user_input if user_input else "Anonymous"
result = process(x) if x > 0 else None
[x**2 if x % 2 == 0 else x for x in range(5)]
可以嵌套,但不建议超过一层,否则可读性急剧下降。
例如(不推荐):status = "high" if score > 90 else "mid" if score > 60 else "low"
更清晰的写法是用普通 if-elif-else,或封装成函数。
("yes" if flag else "no"),尤其在复杂表达式中x if y else z 而不赋值或不用),会报 SyntaxWarning三元表达式本质是表达式(有返回值),而 if-else 是语句(无返回值)。
该用三元就用,该用 if-else 就别硬套。关键是让别人(和未来的你)一眼看懂。