Основные тезисы
1. Выражение - это комбинация значений (или переменных, операторов, вызовов функций, о которых вы скоро узнаете), которая оценивается как значение, например, 1 + 2
.
2. Операторы - это специальные символы или ключевые слова, которые могут работать со значениями и выполнять (математические) операции, например, оператор *
умножает два значения: x * y
.
3. Арифметические операторы в Python: +
(сложение), -
(вычитание), *
(умножение), /
(классическое деление - возвращает число с плавающей запятой, если одно из значений имеет тип с плавающей запятой), %
(модуль - делит левый операнд на правый операнд и возвращает остаток от операции, например, 5 % 2 = 1
), **
(возведение в степень - левый операнд возводится в степень правого операнда, например, 2 ** 3 = 2 * 2 * 2 = 8
), //
(целочисленное деление - возвращает число, полученное в результате деления, но округленное до ближайшего целого числа, например, 3 // 2.0 = 1.0
)
4. Унарный это оператор с одним операндом, например, -1
или +3
.
5. Бинарный (двоичный) - это оператор с двумя операндами, например 4 + 5
, или 12 % 5
.
6. Некоторые операторы действуют раньше других благодаря иерархии приоритетов:
- унарные
+
и-
имеют самый высокий приоритет - затем:
**
, потом:*
,/
, и%
, а затем самый низкий приоритет : двоичные+
и-
.
7. Выражения в скобках всегда вычисляются первыми, например, 15 - 1 * (5 * (1 + 2)) = 0
.
8. Оператор возведение в степень использует правую ассоциацию, например, 2 ** 2 ** 3 = 256
.
Упражнение 1
Каков вывод следующего фрагмента?
print((2 ** 4), (2 * 4.), (2 * 4))
Упражнение 2
Каков вывод следующего фрагмента?
print((-2 / 4), (2 / 4), (2 // 4), (-2 // 4))
Упражнение 3
Каков вывод следующего фрагмента?
print((2 % -4), (2 % 4), (2 ** 3 ** 2))