Введение
Почти все логически строки в вашей программе будут содержать выражения. Простой пример выражения это 3 * 4. Все выражения делятся на операторы и операнды.
Операторы
Операторы - это функционал, который производит какие-либо действия, они могут быть представлены в виде символов или специальных слов.
Операнды
Операнды - это данные над которыми операторы производят действия.
В примере выше * является оператором, а 3 и 4 - операнды.
Операторы
+ Сложение
Суммирует два объекта
7 + 2 даст 9; 'a' + 'b' даст 'ab'
- Вычитание
Даёт разность двух чисел; если первый операнд отсутствует, он считается равным нулю
-7,5 даст отрицательное число, а 45 - 6 даст 39.
* Умножение
Даёт произведение двух чисел или возвращает строку, повторённую заданное число раз.
3 * 3 даст 9. 'na' * 3 даст 'nanana'.
** Возведение в степень
Возвращает число х, возведённое в степень
y 2 ** 4 даст 16 (т.е. 2 * 2 * 2 * 2)
/ Деление
Возвращает частное от деления 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 или False1 . Обратите внимание на заглавные буквы в этих словах.
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
x = True; y = False; x or y даёт True. Здесь также может производиться укороченная оценка выражений.
Краткая запись математических операций
Если вам нужно одновременно выполнить математическую операцию и присвоить ее значение переменной, вы можете кратко реализовать эту запись:
а = а * 3
тоже самое что и
а *= 3
Так же со всеми мат. операциями
Порядок вычисления
Все операторы в python имеют свой приоритет, чем выше приоритет, тем раньше будет выполнено это действие. Далее операторы расставлены начиная с самого низкого приоритета.
lambda лямбда-выражение
or Логическое «ИЛИ»
and Логическое «И»
not x Логическое «НЕ»
in, not in Проверка принадлежности
is, is not Проверка тождественности
<, <=, >, >=, !=, == Сравнения
| Побитовое «ИЛИ»
^ Побитовое «ИСКЛЮЧИТЕЛЬНО ИЛИ»
& Побитовое «И»
<<, >> Сдвиги
+, - Сложение и вычитание
*, /, //, % Умножение, деление, целочисленное деление и остаток от деления
+x, -x Положительное, отрицательное
~x Побитовое НЕ
** Возведение в степень
x.attribute Ссылка на атрибут
x[индекс] Обращение по индексу
x[индекс1:индекс2] Вырезка
f(аргументы ...) Вызов функции
(выражения, ...) Связка или кортеж
[выражения, ...] Список {ключ:данные, ...} Словарь
Изменение порядка вычисления
Для изменения порядка вычисления используются скобки. Вычисления в питоне выполняются по школьным правилам алгебры, то есть то что находится в скобках выполняется в первую очередь.
Решим простую задачу на вычисление площади и периметра прямоугольника.
length = 5
breadth = 2
area = length * breadth
print('Площадь равна', area)
print('Периметр равен', 2 * (length + breadth))
Вывод:
Площадь равна 10
Периметр равен 14
Примечание.
Вы можете выводить значение переменной в print() после запятой, не приводя его к типу данных str.
Заключение
Сегодня мы разобрались как пользоваться операндами, операторами и выражениями. Все это является основными блоками для создания любой программы. Далее мы рассмотрим как все это можно применять на практике.