Python. Операторы (операции) для работы с числовыми объектами. Таблица приоритетности операторов

Операторы (операции) для работы с числовыми объектами. Таблица приоритетности операторов


Содержание


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. Какова последовательность выполнения операторов с одинаковым приоритетом?

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

 


Связанные темы