Статья Python. Операторы и их приоритеты. Урок №3

akok

Команда форума
Администратор
Сообщения
17,479
Реакции
13,383
Баллы
2,203
Операторы – это некий функционал, производящий какие-либо действия, который может быть представлен в виде символов, как например +, или специальных зарезервированных слов. Операторы могут производить некоторые действия над данными, и эти данные называются операндами. В нашем случае 2 и 3 – это операнды.
ОператорНазваниеОбъяснениеПримеры
+СложениеСуммирует два объекта3 + 5 даст 8; 'a' + 'b' даст 'ab'
-ВычитаниеДаёт разность двух чисел; если первый операнд отсутствует, он считается равным нулю-5.2 даст отрицательное число, а 50 - 24 даст 26.
*УмножениеДаёт произведение двух чисел или возвращает строку, повторённую заданное число раз.2 * 3 даст 6. 'la' * 3 даст 'lalala'.
**Возведение в степеньВозвращает число х, возведённое в степень y3 ** 4 даст 81 (т.е. 3 * 3 * 3 * 3)
/ДелениеВозвращает частное от деления x на y4 / 3 даст 1.3333333333333333.
//Целочисленное делениеВозвращает неполное частное от деления4 // 3 даст 1. -4 // 3 даст -2.
%Деление по модулюВозвращает остаток от деления8 % 3 даст 2. -25.5 % 2.25 даст 1.5.
<<Сдвиг влевоСдвигает биты числа влево на заданное количество позиций. (Любое число в памяти компьютера представлено в виде битов - или двоичных чисел, т.е. 0 и 1)2 << 2 даст 8. В двоичном виде 2 представляет собой 10. Сдвиг влево на 2 бита даёт 1000, что в десятичном виде означает 8.
>>Сдвиг вправоСдвигает биты числа вправо на заданное число позиций.11 >> 1 даст 5. В двоичном виде 11 представляется как 1011, что будучи смещённым на 1 бит вправо, даёт 101, а это, в свою очередь, не что иное как десятичное 5
&Побитовое ИПобитовая операция И над числами5 & 3 даёт 1.
|Побитовое ИЛИПобитовая операция ИЛИ над числами5 | 3 даёт 7
^Побитовое ИСКЛЮЧИТЕЛЬНО ИЛИПобитовая операция ИСКЛЮЧИТЕЛЬНО ИЛИ5 ^ 3 даёт 6
~Побитовое НЕПобитовая операция НЕ для числа xсоответствует -(x+1)~5 даёт -6.
<МеньшеОпределяет, верно ли, что x меньше y. Все операторы сравнения возвращаютTrue или False [1]. Обратите внимание на заглавные буквы в этих словах.5 < 3 даст False,
а 3 < 5 даст True.
Можно составлять произвольные цепочки сравнений: 3 < 5 < 7 даёт True.
>БольшеОпределяет, верно ли, что x больше y5 > 3 даёт True. Если оба операнда - числа, то перед сравнением они оба преобразуются к одинаковому типу. В противном случае всегда возвращается False.
<=Меньше или равноОпределяет, верно ли, что x меньше или равно yx = 3; y = 6; x <= y даёт True.
>=Больше или равноОпределяет, верно ли, что x больше или равно yx = 4; y = 3; x >= 3 даёт True.
==РавноПроверяет, одинаковы ли объектыx = 2; y = 2; x == y даёт True. x = 'str'; y = 'stR'; x == y даёт False. x = 'str'; y = 'str'; x == y даёт True.
!=Не равноПроверяет, верно ли, что объекты не равныx = 2; y = 3; x != y даёт True.
notЛогическое НЕЕсли x равно True, оператор вернётFalse. Если же x равно False, получимTrue.x = True; not x даёт False.
andЛогическое Иx and y даёт False, если x равно False , в противном случае возвращает значение yx = False; y = True; x and y возвращает False, поскольку x равно False. В этом случае Python не станет проверять значение y, так как уже знает, что левая часть выражения ‘and’ равняется False, что подразумевает, что и всё выражение в целом будет равно False, независимо от значений всех остальных операндов. Это называется укороченной оценкой булевых (логических) выражений.
orЛогическое ИЛИЕсли x равно True, в результате получимTrue, в противном случае получим значение y


Следующая таблица показывает приоритет операторов в Python, начиная с самого низкого (самое слабое связывание) и до самого высокого (самое сильное связывание). Это означает, что в любом выражении Python сперва вычисляет операторы и выражения, расположенные внизу таблицы, а затем операторы выше по таблице.
ОператорОписание
lambdaлямбда-выражение
orЛогическое “ИЛИ”
andЛогическое “И”
not xЛогическое “НЕ”
in, not inПроверка принадлежности
is, is notПроверка тождественности
<, <=, >, >=, !=, ==Сравнения
|Побитовое “ИЛИ”
^Побитовое “ИСКЛЮЧИТЕЛЬНО ИЛИ”
&Побитовое “И”
<<, >>Сдвиги
+, -Сложение и вычитание
*, /, //, %Умножение, деление, целочисленное деление и остаток от деления
+x, -xПоложительное, отрицательное
~xПобитовое НЕ
**Возведение в степень
x.attributeСсылка на атрибут
x[индекс]Обращение по индексу
x[индекс1:индекс2]Вырезка
f(аргументы ...)Вызов функции
(выражения, ...)Связка или кортеж [2]
[выражения, ...]Список
{ключ:данные, ...}Словарь
 
Сверху Снизу