Арифметические операторы
print(7 + 2)print(7 - 2)print(7 * 2)print(7 / 2)print(7 // 2)print(7 % 2)print(7 ** 2)Результаты: 9, 5, 14, 3.5, 3, 1, 49.
Обратите внимание: / всегда возвращает float, а // выполняет целочисленное деление с округлением вниз:
print(-7 // 2)print(-7 % 2)Результат: -4 и 1.
Операторы присваивания
x = 5x += 3x -= 1x *= 2x //= 3Присваивание нескольких значений:
a, b = 1, 2a, b = b, ax = y = 0В Python нет операторов ++ и --.
Операторы сравнения
print(1 == 1)print(1 != 2)print(3 > 2)print(3 <= 2)Сравнения можно объединять в цепочки:
x = 5print(1 < x < 10)Логические операторы
print(True and False)print(True or False)print(not True)Операторы and и or вычисляются лениво и возвращают не bool, а один из операндов:
print("" or "по умолчанию")print("a" and "b")Результат: по умолчанию и b.
Операторы принадлежности и тождества
print(2 in [1, 2, 3])print("a" not in "abc")a = [1]b = [1]print(a == b)print(a is b)== сравнивает значения, is — тождество объектов. Для сравнения с None всегда используйте is:
value = Noneprint(value is None)Битовые операторы
print(5 & 3)print(5 | 3)print(5 ^ 3)print(~5)print(5 << 1)print(5 >> 1)Приоритет
От высшего к низшему: **, унарные + - ~, * / // %, + -, сдвиги, &, ^, |, сравнения и in/is, not, and, or. Если сомневаетесь — ставьте скобки.
Задания
- Вычислите остаток от деления
-17на5и объясните результат. - Напишите выражение, проверяющее, что число
nлежит в диапазоне от 10 до 20 включительно, используя цепочку сравнений.
