Python中“=”的运算符优先级是多少?
What is the operator precedence of "=" in Python?
Python's documentation没有提到=
的运算符优先级。那是什么?
=
不是运算符。 =
是一个 assignment statement.
因为它是一个语句,所以它不能是表达式的一部分(表达式是某些语句的一部分,而不是相反),所以顺序无关紧要。始终执行表达式以提供语句。
对于赋值,语法指定在 =
符号后允许使用特定类型的表达式:
assignment_stmt ::= (target_list "=")+ (starred_expression | yield_expression)
并且该语句的文档详细说明了事物的执行顺序:
An assignment statement evaluates the expression list (remember that this can be a single expression or a comma-separated list, the latter yielding a tuple) and assigns the single resulting object to each of the target lists, from left to right.
Python's documentation没有提到=
的运算符优先级。那是什么?
=
不是运算符。 =
是一个 assignment statement.
因为它是一个语句,所以它不能是表达式的一部分(表达式是某些语句的一部分,而不是相反),所以顺序无关紧要。始终执行表达式以提供语句。
对于赋值,语法指定在 =
符号后允许使用特定类型的表达式:
assignment_stmt ::= (target_list "=")+ (starred_expression | yield_expression)
并且该语句的文档详细说明了事物的执行顺序:
An assignment statement evaluates the expression list (remember that this can be a single expression or a comma-separated list, the latter yielding a tuple) and assigns the single resulting object to each of the target lists, from left to right.