Что такое 3^2*4 + 2%5? Значение (38) определено по этой “таблице приоритета операторов”. Таблица ниже основана на таблице из § 5.14 книги Python Language Reference Manual, G. Rossum and F. Drake. Операторы расположены в порядке возрастания старшинства.
Operators | Description |
---|---|
or | boolean or |
and | boolean and |
not | boolean not |
in, not in | membership |
is, is not | identity test |
>, <=, >, >=, ==, !=, <> | comparison |
+, - | addition, subtraction |
*, /, % | multiplication, division, remainder |
**, ^ | exponentiation |
Следовательно, чтобы посчитать 3^2*4 + 2%5, Sage расставляет скобки так: ((3^2)*4) + (2%5). Сначала считается 3^2, то есть 9, затем считаются (3^2)*4 и 2%5, и наконец они складываются.