Перейти к содержанию

10 Арифметические операции (Теория)

Терминология

Оператор – символ, который выполняет операцию над одним или несколькими значениями

Операторы бывают

  • арифметические
  • сравнения
  • логические

Операнды – значения, над которыми выполняет действие оператор

Операторы бывают

  • унарный оператор, который выполняет действие над одним операндом
  • бинарный оператор, выполняет действие над двумя операндами
  • тернарный, выполняет действие над тремя операндами

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

Унарные

  • - унарный минус -10
  • + унарный плюс +10

Бинарные

  • + сложение 10 + 20
  • - вычитание 20 - 10
  • * умножение 10 * 2
  • / деление 10 / 2
  • ** возведение в степень 2 ** 4

Скобки ( и ) можно использовать для группировки выражений как в математике

Типы операндов

Арифметические операторы могут использовать любой числовой тип

  • int
  • float

и некоторые другие типы данных (которые будут рассмотрены позже)
что делает тот или иной оператор определяется типом операндов

оператор может поддерживать работу с разными типами данных

2 + 2 -> возвращает int
2 + 2.0 -> возвращает float
5.5 * 2 -> возвращает float
4 / 2 -> тоже возвращает float

Оператор возведения в степень

Оператор возведения в степень работает точно так же как и в математике

2 ** 2 --> 2 * 2 * 2 * 2 --> 16 (int)

2 ** (-4) --> 1 / (2 ** 4) --> 1 / 16 --> 0.0625 (float)

** поддерживает float числа

Как реализованы арифметические операторы

Как мы знаем, числа на самом деле являются объектами
у них есть состояние
и у них есть методы
один из таких методой __add__

Когда мы пишем a + b(где a = 10 и b = 20)
то 10 это объект intи у него есть метод __add__
Python на самом деле приводит выражение к такому a.__add__(b)
Точно так же этот оператор работает и с другими типами

Если заглянуть немного вперед

Любой тип данных может реализовать метод __add__ как угодно
и затем Python будет вызывать этот метод когда мы напишем в коде type1 + type2