- Сообщения
 - 26,863
 
- Решения
 - 29
 
- Реакции
 - 14,323
 
Операторы – это некий функционал, производящий какие-либо действия, который может быть представлен в виде символов, как например +, или специальных зарезервированных слов. Операторы могут производить некоторые действия над данными, и эти данные называются операндами. В нашем случае 2 и 3 – это операнды.
Следующая таблица показывает приоритет операторов в Python, начиная с самого низкого (самое слабое связывание) и до самого высокого (самое сильное связывание). Это означает, что в любом выражении Python сперва вычисляет операторы и выражения, расположенные внизу таблицы, а затем операторы выше по таблице.
	
		
			
		
		
	
				
			| Оператор | Название | Объяснение | Примеры | 
| + | Сложение | Суммирует два объекта | 3 + 5 даст 8; 'a' + 'b' даст 'ab' | 
| - | Вычитание | Даёт разность двух чисел; если первый операнд отсутствует, он считается равным нулю | -5.2 даст отрицательное число, а 50 - 24 даст 26. | 
| * | Умножение | Даёт произведение двух чисел или возвращает строку, повторённую заданное число раз. | 2 * 3 даст 6. 'la' * 3 даст 'lalala'. | 
| ** | Возведение в степень | Возвращает число х, возведённое в степень y | 3 ** 4 даст 81 (т.е. 3 * 3 * 3 * 3) | 
| / | Деление | Возвращает частное от деления x на y | 4 / 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 больше y | 5 > 3 даёт True. Если оба операнда - числа, то перед сравнением они оба преобразуются к одинаковому типу. В противном случае всегда возвращается False. | 
| <= | Меньше или равно | Определяет, верно ли, что x меньше или равно y | x = 3; y = 6; x <= y даёт True. | 
| >= | Больше или равно | Определяет, верно ли, что x больше или равно y | x = 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 , в противном случае возвращает значение y | x = 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] | 
| [выражения, ...] | Список | 
| {ключ:данные, ...} | Словарь |