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