Операторы в Python

Операция — это выполнение каких-нибудь действий над данными (операндами). Для выполнения конкретных действий требуются специальные инструменты — операторы.

Обычно выделяют четыре группы операторов:
  • арифметические;
  • побитовые;
  • операторы сравнения;
  • логические операторы;

Арифметические операторы. Предназначены в первую очередь для выполнения арифметических вычислений.

+    Оператор сложения.
-     Оператор вычитания.
*    Оператор умножения.
/     Оператор деления. 
//    Оператор целочисленного деления.
%   Оператор вычисления остатка от целочисленного деления.
**  Оператор возведения в степень.


Побитовые (двоичные) операторы. Предназначены для работы на уровне двоичного кода числа.

~    Побитовая инверсия. Результатом является число, получающееся заменой нулей на единицы и единиц на нули в побитовом представлении операнда (сам операнд при этом не меняется).

&    Побитовое И. При вычислении результата сравниваются побитовые представления операндов. Если на одной и той же позиции в операндах стоят единицы, то в числе-результате на той же позиции будет единица. В противном случае (если хотя бы на одной из двух позиций нуль) в числе-результате на соответствующей позиции будет нуль.

|     Побитовое ИЛИ. Сравниваются побитовые представления операндов. Если на одной и той же позиции в операндах стоят нули, то в числе-результате на той же позиции будет нуль. В противном случае (если хотя бы в одной из двух позиций единица) в числе-результате на соответствующей позиции будет единица.

^    Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ. Результат вычисляется сравнением побитовых представлений операндов. Если на одной и той же позиции в операндах стоят разные значения, то в числе-результате на этой же позиции будет единица. В противном случае (если на соответствующих позициях стоят одинаковые числа) в числе-результате на этой позиции будет нуль.

<< Сдвиг влево. Результат вычисляется так: в побитовом представлении первого операнда выполняется сдвиг влево. Количество разрядов на которое выполняется сдвиг, определяется вторым операндом. Младшие недостающие биты заполняются нулями.

>> Сдвиг вправо. Для вычисления результата в побитовом представлении первого операнда выполняется сдвиг вправо. Количество разрядов на которое выполняется сдвиг, определяется вторым операндом. Биты слева заполняются значением самого старшего бита (для положительных чисел это нуль, для отрицательных единица).


Логические операторы

or     Логическое ИЛИ. Бинарный оператор (у оператора два операнда). В общем случае:

  • результатом выражения x or y является True, если значение хотя бы одного из операндов x или y равно True; 
  • если значения обеих операндов x и y равны False, результатом выражения х и y будет False;

В Python выражения на основе оператора or вычисляются по упрощенной схеме:

  • если первый операнд x интерпретируется как True, то x возвращается в качестве результата (второй операнд при этом не вычисляется);
  • если первый операнд x интерпретируется как False, то в качестве результата возвращается второй операнд y.

and   Логическое И. Бинарный оператор (у оператора два операнда). В общем случае:

  • результатом выражения x and y если значения обеих операндов x и y равны True.
  • если значение хотя бы одного из операндов x и y равно False, результат выражения х and y будет False.
В Python выражения на основе оператора and вычисляются по упрощенной схеме:

  • если первый операнд x интерпретируется как False, то x возвращается в качестве результата (второй операнд при этом не вычисляется);
  • если первый операнд x интерпретируется как True, то в качестве результата возвращается второй операнд y.


not    Логическое отрицание. Унарный оператор (у оператора один операнд).

  • результатом выражения not x будет значение True, если у операнда x значение False
  • результатом выражения not x будет значение False, если у операнда x значение True

Операторы сравнения. Позволяют сравнивать на предмет равенства / неравенства различные значения. Обычно (хотя и не всегда) речь идет о числовых значениях. Результатом операций сравнения являются логические значения True, если соответствующее соотношение верно (если отношение имеет место), и False, если неверно (отношение не имеет место). 

<    Строго меньше. Результатом является True, если значение операнда слева от оператора меньше значения операнда справа от оператора. Иначе возвращается значение False.

>    Строго больше. Результатом является True, если значение операнда слева от оператора больше значения операнда справа от оператора. Иначе возвращается значение False.

<=  Меньше или равно. Результатом является True, если значение операнда слева от оператора не больше значения операнда справа от оператора. Иначе возвращается значение False.

>=  Больше или равно. Результатом является True, если значение операнда слева от оператора не меньше значения операнда справа от оператора. Иначе возвращается значения False.

==  Равно. Результатом является True, если значение операнда слева от оператора равно значению операнда справа от оператора. Иначе возвращается значения False.

!=   Не равно. Результатом является True, если значение операнда слева от оператора не равно значению операнда справа от оператора. Иначе возвращается значения False.

is   Оператор проверки идентичности объектов. В качестве результата возвращается значение True, если оба операнда ссылаются на один и тот же объект. В противном случае (то есть если операнды ссылаются на разные объекты) возвращается значение False.

is not  Оператор проверки неидентичности объектов. В качестве результата возвращается значение True, если операнды ссылаются на разные объекты. В противном случае (то есть если операнды ссылаются на один и тот же объект) возвращается значение False.