Операторы (операции) для работы с числовыми объектами. Таблица приоритетности операторов
Содержание
- 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
- Литералы. Создание (генерирование) объекта. Базовые типы объектов
- Числа. Представление чисел разных форматов. Базовые числовые типы. Функции преобразования чисел
⇑