Операторы (операции) для работы с числовыми объектами. Таблица приоритетности операторов
Содержание
- 1. Понятие оператора для обработки чисел в выражении
- 2. Классификация операций для работы с числовыми объектами
- 3. Операторы выражений. Таблица приоритетности операторов
- 4. Какова последовательность выполнения операторов с одинаковым приоритетом?
- Связанные темы
Поиск на других ресурсах:
1. Понятие оператора для обработки чисел в выражении
Для любого числа (литерала) в языке Python генерируется соответствующий числовому объект, который содержит:
- значение этого числа (литерала);
- множество операций или операторов, которые можно выполнять над этим числом.
Примеры операторов.
x % y # оператор взятия остатка от деления x==y # оператор сравнения на равенство -z # унарный минус
⇑
2. Классификация операций для работы с числовыми объектами
Операции для работы с числовыми объектами есть трех видов:
- операторы выражений +, –, *, /, **, not, yield и прочие;
- встроенные математические функции round, int, bin, pow и прочее;
- вспомогательные модули, например math, random, sys, contextlib и прочие.
⇑
3. Операторы выражений. Таблица приоритетности операторов
Ниже приведена таблица операторов языка Python в порядке убывания приоритетности.
| Оператор (операция) | Описание |
| { . . . } | Словарь, множество, генератор словарей, генератор множеств (самый высший приоритет) |
| [ . . . ] | Список, генератор списков |
| ( . . . ) | Кортеж, подвыражение, выражение-генератор |
| x.attr | Обращение к атрибуту |
| x( . . . ) | Вызов функций, классов. Здесь x – имя функции, класса |
| x[l:j:k] | Срез |
| x[i] | Взятие по индексу i |
| x ** y | Возведение в степень |
| ~x | Битовая операция НЕТ (отрицание, инверсия) |
| -x, +x | Унарный минус, тождество |
| x/y, x//y | Обычное деление, деление с округлением вниз |
| x%y | Остаток от деления, формат |
| x*y | Умножение, повторение |
| x-y | Вычитание, разность множеств |
| x+y | Суммирование, конкатенация |
| x<<y, x>>y | Сдвиг x влево или вправо на y бит |
| x&y | Битовая операция И, пересечение множеств |
| x^y | Битовая операция «исключающее ИЛИ» (XOR), симметрическая разница множеств |
| x | y | Битовая операция ИЛИ, объединение множеств |
| x==y, x!=y, x<>y | Операторы проверки на равенство. Случай x<>y работает только в Python 2.6. |
| x>y, x<y, x>=y, x<=y | Операторы сравнения |
| x is y, x is not y | Проверка идентичности объектов |
| x in y, x not in y | Для итерированных объектов и множеств |
| not x | Логическое отрицание |
| x and y | Логический оператор И (значение y вычисляется только если значение x истинно) |
| x or y | Логическая операция ИЛИ (значение y вычисляется только если значение x не истинно) |
| x if y else z | Тернарный оператор выбора (значение x вычисляется только если значение y истинно) |
| lambda args: expression | Создание анонимной функции |
| yield x | Поддержка протокола send в функциях-генераторах (в версиях Python 2.5 и выше) |
Операторы могут образовывать сложные выражения. Интерпретатор проводит вычисления в выражениях согласно с приоритетом (см. таблицу). С помощью круглых скобок () можно изменять приоритет операторов в выражениях. Операторы, размещаемые в скобках, выполняются в первую очередь.
Примеры выражений
x + y a < b < c D[slice(I,J,K)] a < b and b < c 2 * (a + b)
⇑
4. Какова последовательность выполнения операторов с одинаковым приоритетом?
Если в выражении операторы имеють одинаковый приоритет (см. таблицу), то они выполняються в направлении слева направо за исключением оператора возведения в степень (**), который выполняется справа налево.
⇑
Связанные темы
- Представление данных в Python. Понятие объекта. Идентичность, тип, значение объекта. Функции id(), type(). Операторы is, is not
- Литералы. Создание (генерирование) объекта. Базовые типы объектов
- Числа. Представление чисел разных форматов. Базовые числовые типы. Функции преобразования чисел
⇑