Операторы в Python

Операторы в Python


Операторы в Python

Определение

Операторы — это специальные символы или ключевые слова, которые выполняют операции над переменными и значениями. В Python операторы делятся на несколько категорий в зависимости от их функциональности.


Типы операторов

1. Арифметические операторы

Используются для математических операций:

ОператорОписаниеПример
+Сложение5 + 3 → 8
-Вычитание5 - 3 → 2
*Умножение5 * 3 → 15
/Деление5 / 2 → 2.5
//Целочисленное деление5 // 2 → 2
%Остаток от деления5 % 2 → 1
**Возведение в степень2 ** 3 → 8
print(10 // 3)  # 3 (отбрасывает дробную часть)

2. Операторы сравнения

Сравнивают два значения и возвращают True или False:

ОператорОписаниеПример
==Равно5 == 5 → True
!=Не равно5 != 3 → True
>Больше5 > 3 → True
<Меньше5 < 3 → False
>=Больше или равно5 >= 5 → True
<=Меньше или равно5 <= 3 → False

3. Операторы присваивания

Присваивают значения переменным.

ОператорПримерЭквивалент
=x = 5
+=x += 3x = x + 3
-=x -= 2x = x - 2
*=x *= 4x = x * 4
/=x /= 2x = x / 2
%=x %= 3x = x % 3

4. Битовые операторы

Работают с битами чисел (для целых чисел):

ОператорОписаниеПример
&И (AND)5 & 3 → 1
``ИЛИ (OR)
^Исключающее ИЛИ (XOR)5 ^ 3 → 6
~НЕ (NOT)~5 → -6
<<Сдвиг влево5 << 1 → 10
>>Сдвиг вправо5 >> 1 → 2
print(bin(5))        # 0b101
print(5 << 1)        # 10 (0b1010)

5. Логические операторы

Используются для комбинирования условий:

ОператорОписаниеПример
andЛогическое ИTrue and False → False
orЛогическое ИЛИTrue or False → True
notЛогическое НЕnot True → False

Особенность Python:

  • and возвращает первый False или последний True.
  • or возвращает первый True или последний False.
print(3 and 0)    # 0 (первое "ложное" значение)
print(0 or "Hi")  # "Hi" (первое "истинное")

6. Операторы членства

Проверяют наличие элемента в коллекции:

ОператорОписаниеПример
inПрисутствует3 in [1, 2, 3] → True
not inОтсутствует4 not in {1, 2} → True

7. Операторы идентичности

Сравнивают объекты (проверяют, ссылаются ли переменные на один объект):

ОператорОписаниеПример
isТот же объектx is y → True/False
is notРазные объектыx is not y → True/False
a = [1, 2]
b = a
c = [1, 2]
print(a is b)   # True (один объект)
print(a is c)   # False (разные объекты)

Приоритет операторов

Операторы выполняются в порядке их приоритета (от высшего к низшему):

ПриоритетКатегорияОператоры
1Скобки()
2Возведение в степень**
3Унарные операторы+x, -x, ~x
4Умножение/Деление*, /, //, %
5Сложение/Вычитание+, -
6Битовые сдвиги<<, >>
7Битовое И&
8Битовое ИЛИ/Искл. ИЛИ^, `
9Сравнение==, !=, >, <, >=, <=
10Операторы идентичностиis, is not
11Операторы членстваin, not in
12Логическое НЕnot
13Логическое Иand
14Логическое ИЛИor

Пример:

result = 5 + 3 * 2 ** 2  # 5 + (3 * (2**2)) = 5 + 12 = 17

Примеры с приоритетом

  1. Скобки меняют порядок:

    print((5 + 3) * 2)  # 16 (8 * 2)
    print(5 + 3 * 2)    # 11 (5 + 6)
  2. Унарные операторы до арифметики:

    print(-3 ** 2)      # -9 (интерпретируется как -(3**2))
    print((-3) ** 2)    # 9
  3. Логические операторы после сравнения:

    print(5 > 3 and 2 < 4)  # True (сначала выполняются сравнения)

Заключение

  • Операторы позволяют выполнять операции над данными.
  • Приоритет операторов определяет порядок вычислений.
  • Используйте скобки для явного указания порядка.
  • Операторы is и == выполняют разные проверки:
    • is — идентичность объектов (один объект в памяти).
    • == — равенство значений.

Совет: Если сомневаетесь в приоритете, используйте скобки — это сделает код читаемее.