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