-1

Sorry, I'm sure it was asked a billion times, but I couln't have found exact answer:

var = value if condition else other_value

What is the precedence of if .. else relative to assignment? Like in C/Java ternary or not?

4

2 回答 2

6

if/else 表达式是一个表达式,而赋值是一个语句。所以在Python中,你不需要考虑两者的优先级,if/else会先做。

在 C 中,赋值也是一个表达式,因此您可以以 Python 中无法实现的方式混合和匹配条件和赋值。

于 2012-12-24T16:08:22.610 回答
5

赋值总是具有最低优先级;它不是表达式的一部分。

实际上,赋值是一个语句;你永远不能在表达式中使用赋值。

于 2012-12-24T16:07:47.503 回答