В этой статье разберем числовые типы данных в Python 3: int, float и complex, а также разберём арифметические операции.
Числовые типы данных
Python 3 — позволяет создавать три разных типа числовых объектов:
- int — целое, положительное или отрицательное число. В Python нет ограничений на длину целых чисел, то есть целые числа могут быть очень большими. Пример целого числа — 5.
- float — число с плавающей точкой. Это число уже имеет ограничение оно не может быть больше чем 2 в степени 1024. Пример такого числа — 1.5.
- complex — комплексное число. Про них можете почитать отдельно, например в этой статье. Пример комплексного числа 2 + 2j.
a = 5 b = 1.5 c = 2 + 2j print(type(a)) # <class 'int'> print(type(b)) # <class 'float'> print(type(c)) # <class 'complex'>
Арифметические операции
Python 3 поддерживает следующие операции:
print(5 + 2) # 7 (сложение) print(7 - 3) # 4 (вычитание) print(3 * 4) # 12 (умножение) print(10 / 2) # 5.0 (деление) (в результате всегда float) print(10 / 3) # 3.3333333333333335 print(5 ** 3) # 125 (возведение в степень) print(14 // 4) # 3 (деление на цело) print(14 % 4) # 2 (остаток от деления)
При делении всегда получаем число с плавающей точкой (float), но мы можем преобразовать его в целое:
print(int(10 / 2)) # 5
При этом всё что находится после запятой — отбрасывается.
Точно также мы можем превратить целое число в число с плавающей точкой:
print(float(2)) # 2.0
Порядок выполнения операций
Арифметические операции в Python имеют свои приоритеты:
- Возведение в степень (**) выполняется первее всего;
- Затем выполняются умножение (*) и деление (/, //, %);
- И в самом конце выполняется сложение (+) и вычитание (-).
Некоторые ошибки при работе с числами
Если к целому числу (int) не предоставляют каких-то ограничений, то число с плавающей точкой (float) не может быть больше, чем 2 в степени 1024. Из этого мы можем получить следующую ошибку:
print (2.5 ** 1024) ### Traceback (most recent call last): File "<pyshell#73>", line 1, in <module> print (2.5 ** 1024) OverflowError: (34, 'Result too large')
Ещё одной, довольно известной ошибкой считается деление на ноль. Запомните, на ноль делить нельзя:
print(3 / 0) ### Traceback (most recent call last): File "<pyshell#92>", line 1, in <module> print(3 / 0) ZeroDivisionError: division by zero
Итог
Из статьи вы узнали какие есть типы данных в Python для хранения чисел, а также познакомились с арифметическими операциями.
Про другие типы данных можете почитать здесь и здесь.