Каков приоритет оператора "=" в Python?

Документация Python не упоминает приоритет оператора =, Так что же это?

1 ответ

Решение

= не оператор. = является оператором присваивания

Поскольку это оператор, он не может быть частью выражения (выражения вместо этого являются частью определенных операторов, а не наоборот), поэтому упорядочение не имеет значения. Выражение всегда выполняется для обслуживания оператора.

Для присвоений грамматика указывает, что определенные типы выражений разрешены после = условное обозначение:

assignment_stmt ::=  (target_list "=")+ (starred_expression | yield_expression)

и документация для этого заявления детализирует, в каком порядке выполняются вещи:

Оператор присваивания оценивает список выражений (помните, что это может быть одно выражение или список, разделенный запятыми, причем последний дает кортеж), и назначает один результирующий объект каждому из целевых списков слева направо.

Другие вопросы по тегам