Числовые типы данных в Python: integer, float
Переменные
Любые данные хранятся в ячейках памяти компьютера. Когда мы вводим число, оно помещается в какую-либо ячейку памяти. Возникают вопросы: Куда именно? Как впоследствии обращаться к этим данными?
В программе данные связываются с каким-либо именем. В дальнейшем обращение к ним возможно по этому имени-переменной.
Термин «переменная» обозначает, что ее сущность может меняться, она непостоянна.
В программе на языке Python, как и на большинстве других языков, связь между данными и переменными устанавливается с помощью знака = (знак равно). Данная операция называется присваиванием.
Например, выражение, представленное ниже, означает, что на объект, представляющий собой число 4, находящееся в определенной области памяти, теперь ссылается переменная a.
a = 4
Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:
- Желательно давать переменным осмысленные имена, говорящие о назначении данных, на которые они ссылаются.
- Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами).
- Имя переменной должно начинаться с буквы или символа подчеркивания, но не с цифры.
- Имя переменной не должно содержать пробелы.
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать, то есть написать имя и нажать Enter.
Числовые типы данных
Напишите в консоли следующую команду и нажмите Enter:
>>> 1 + 1
В результате получим следующее:
2
При программировании мы чаще всего будем сталкиваться с такими числовыми типами данных (формализация информации), как целые числа и числа с плавающей точкой.
Целые числа (тип int) — это положительные и отрицательные целые числа, а также 0, например: 0, -1, 1, 1827 и т.д.
Числа с плавающей точкой (тип float) — это вещественные, числа (рациональные + иррациональные числа), например: 0, -1, 1, 1827, 0.5, -0.76, 3.141592 (число пи) и т.д.
Операции
Операция — это выполнение каких-либо действий над данными (операндами). Действие выполняется оператором (сложение(+), умножение(*) и т.п. ). Результат операции зависит как от оператора, так и от операндов.
Изменение типа переменных
Давайте создадим две переменные A и B, которым присвоим некоторые значения:
>>> A = 10
>>> B = 1.24
В зависимости от введенной информации, Python самостоятельно определяет тип переменно. Чтобы посмотреть типы заданных переменных, воспользуемся функцией type(), для этого введем следующую команду:
>>> type(A)
После ввода на экране появится тип переменной А, в нашем случае это будет целое число, то есть на экране мы увидим следующее:
>>> type(A)
<class 'int'>
Проведем ту же операцию со второй переменой, на экране увидим следующее:
>>> type(B)
<class 'float'>
Попробуем сложить переменные разных типов данных и выясним, к какому типу относится полученный результат:
>>> С = A + B
>>> type(С)
<class 'float'>
Как можете заметить, в итоге мы получили переменную float.
Любые математические действия можно выполнять только над одинаковыми типами данных, т.е. либо все float, либо все int и т.д.
Но тогда как мы сейчас смогли это сделать? Python самостоятельно производит перевод переменных в нужный тип данных. Вы можете самостоятельно произвести данный переход с помощью функций int(), float():
>>> type(A)
<class 'int'>
>>> A = float(A)
>>> type(A)
<class 'float'>
>>> type(B)
<class 'float'>
>>> B = int(B)
>>> type(B)
<class 'int'>
>>> A
10.0
>>> B
1
Как видите, значение B было округлено. Рассмотрим подробнее округление на функции int(), которая переводит вещественное число в целое:
>>> A1 = 0.1
>>> A2 = 0.4
>>> A3 = 0.7
>>> A4 = 1.1
>>> A1 = int(A1)
>>> A2 = int(A2)
>>> A3 = int(A3)
>>> A4 = int(A4)
>>> A1
0
>>> A2
0
>>> A3
0
>>> A4
1
Как можно заметить, округление происходит до ближайшего целого числа по направлению в сторону нуля, то есть в меньшую сторону.
Основные математические операции в Python
- Cложение (+) используется для получения суммы (в отношении чисел), было нами рассмотрено выше.
- Вычитание (-) — операция, противоположная сложению.
- Умножение(*) используется для получения произведения сомножителей.
>>> type(2 * 2)
<class 'int'>
>>> type(0.1 * 2)
<class 'float'>
>>> type(0.2 * 5)
<class 'float'>
- Возведение в степень (**) используется для возведения числа в степень, то есть умножение числа на само себя столько раз, сколько указано в степени.
>>> 2 ** 3
8
>>> 2 ** 4
16
- Деление (/) — действие, обратное умножению, используется для получения частного
>>> 4 / 2
2.0
>>> type(4/2)
<class 'float'>
>>> 2 / 4
0.5
Даже если делимое и делитель являются целыми числами и делитель содержится в делимом целое число раз, то результат деления будет float.
- Целочисленное деление (//) нужно для получения целочисленного результата деления, то есть при данной операции отбрасывается дробная часть числа.
>>> 4 // 2
2
>>> type(4 / 2)
<class 'float'>
>>> 2//4
0
>>> type(2 // 4)
<class 'int'>
- Получение остатка от деления (%). В результате данной операции Вы получаете то, что осталось от деления, то есть вы получаете то, что невозможно дальше делить. Например, в первом случае 4 делится без остатка — в 4 две 2, во втором случае 2 не разделить на 4, оно сразу уходит в остаток, в третьем случае 7 содержит две 3 (6), в остаток уходит 7 — 6 = 1.
>>> 4 % 2
0
>>> 2 % 4
2
>>> 7 % 3
1
- Модуль числа (abs()) используется для получения модуля числа, то есть отбрасывается знак перед числом
>>> abs(-0.1)
0.1
>>> abs(0)
0
>>> abs(-283)
283
>>> abs(45)
45
- Округление (round()) — данная операция округляет число до ближайшего целого числа, формат int.
>>> round(0.5)
0
>>> round(0.6)
1
>>> round(1.1)
1
>>> round(1.5)
2
>>> round(1.4)
1