Язык программирования Python использует различные типы данных для хранения значений, а float (числа с плавающей запятой) — один из наиболее важных. В этой статье мы познакомим вас с этим типом данных и научим приводить значения других типов к типу float при помощи функции float().
Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
Основные типы данных в Python
Тип данных в Python определяет возможность языка обрабатывать значения данного типа. Например, невозможно передать число в строковую функцию или строку в математическую. Как программист, вы должны знать разницу между типами данных и способы их преобразования.
В Python есть три основных простых типа данных: целые числа, строки и числа с плавающей запятой.
Целые числа (int)
Любое числовое значение, поступающее в компилятор Python, автоматически рассматриваться как число, поэтому нет необходимости объявлять, что значение является числом. Когда числовые значения вводятся без десятичных знаков, Python воспринимает их как целые числа.
Тип int — это целые числа, положительные или отрицательные, неограниченной длины и без десятичных знаков. Например, 123 — это целое число. Таким образом, код print(3) выдает число 3. В Python int является базовым типом целого числа Python.
В Python нет ограничений на длину целочисленного значения. Единственным ограничением является объем памяти вашего компьютера, а так целое число может быть сколь угодно длинным.
Строки (str)
Строка — это набор символов, который может включать буквы, цифры и/или другие символы. Другими словами, строка представляет собой последовательность символьных данных. Строковый тип данных называется str.
В Python строки заключаются в кавычки, поэтому 123 считается целым числом, а "123" — строкой. Обратите внимание, что строковый литерал также может быть заключен в одинарные кавычки. Таким образом, для Python и '123', и "123" являются строками.
Фрагмент кода ниже показывает, что происходит, когда вы заключаете символы в двойные или одинарные кавычки.
print('This is a string.')
# This is a string.
print("This is a string.")
# This is a string.
Строка в Python может содержать столько символов, сколько вам нужно. Как и в случае с целыми числами, единственным ограничением является объем памяти вашего компьютера. Строка также может быть пустой (например, '').
Числа с плавающей запятой (float)
Тип float определяет значения чисел с плавающей запятой. Например, 1.23 — это число с плавающей запятой. Если значение не передано или передано пустое значение, программа вернет 0.0.
Вы также можете использовать символы e или E, за которыми следует положительное или отрицательное целое число, чтобы задать экспоненциальное представление.
Значения с плавающей запятой в Python представлены как 64-битные значения двойной точности. 1,8 x 10308 — это максимальное значение для любого числа с плавающей запятой. Если введенное значение превышает это максимальное значение, программа Python вернет ошибку.
И целые числа, и числа с плавающей запятой являются числовыми данными. Это означает, что мы можем выполнять над ними математические операции. В Python числа с плавающей запятой можно складывать, вычитать, умножать или делить.
Например, следующий код даст результат 6.0:
add = 4.0+2.0 print(add)
Опираясь на эти знания, давайте теперь рассмотрим использование функции float().
Функция float()
Чтобы использовать функцию float(), для начала нужно изучить ее синтаксис и аргументы.
Синтаксис функции float()
В программировании синтаксис — это правила, которые контролируют структуру символов, используемых в языке программирования. Если вы не будете следовать правилам синтаксиса Python, ваш код не будет понят компилятором.
Как и у любой другой функции в Python, у float() есть свой синтаксис. Он имеет следующий вид: float(value).
Входной параметр value, передаваемый функции при ее вызове в программе, это элемент, который необходимо преобразовать. Этот параметр является необязательным и имеет значение по умолчанию 0.0.
Параметры функции float()
Огромное преимущество Python перед многими другими языками программирования заключается в том, что он имеет большое количество разных библиотек с различными функциями, определенными в них. Для использования этих функций их нужно просто вызвать.
Однако при вызове функции важно, чтобы в нее передавались соответствующие аргументы.
Для функции float() аргумент может быть обычным целым числом или строкой с десятичными точками. Он также может отсутствовать.
print(25)
# 25.0
print('25')
# 25.0
Значения, которые может возвращать функция float():
- Для переданного аргумента возвращается соответствующее ему число с плавающей запятой
- Если аргумент отсутствует, то возвращается значение 0.0
- Если передается строка, состоящая не из цифр, или аргумент не соответствует ни одному из случаев, упомянутых в двух предыдущих пунктах, функция
float()возвращает ошибку - Если число выходит за пределы диапазона, допустимого для чисел с плавающей запятой в Python, функция
float()возвращает ошибку OverflowError
Примеры использования функции float()
Мы только что заметили, что функция float() возвращает разные выходные данные в зависимости от значения, переданного в качестве аргумента. Давайте теперь рассмотрим несколько примеров работы функции float() в действии.
Использование float() с целыми числами
Вот что возвращает функция float(), если ей передано целое число 123:
print(float(123)) # 123.0
При помощи функции float() мы успешно преобразовали целое число 123 в число с плавающей запятой 123.0.
А вот что вы получите, когда параметр является отрицательным целым числом, например -123:
print(float(-123)) # -123.0
Наш код возвращает -123.0. Обратите внимание, что десятичная точка указывает на то, что значение теперь хранится как число с плавающей запятой, а не как целое число.
Использование float() с числами с плавающей запятой
Вот что возвращает функция float() для десятичного значения с плавающей запятой 1.23:
print(float(1.23)) # 1.23
Если передать в функцию float() отрицательное десятичное число c плавающей запятой, программа его же и вернет. Например, приведенный ниже ввод параметра -1.2 дает результат -1.2.
print(float(-1.2)) # -1.2
Использование float() со строками
Вот что вы получите, когда параметр является строковым значением типа «123»:
print(float("123"))
# 123.0
В этом примере значение «123» было сохранено в коде как строка. Функция float() преобразовала это значение в число с плавающей запятой. Вы можете сделать то же самое и с отрицательными строковыми значениями.
Имейте в виду, что строка должна содержать только цифры. Если вы попробуете ввести строку с символами, отличными от цифр, программа вернет ошибку.


Функция float() возвращает значение с плавающей запятой и для числовых строк с пробелами. Например, если передать строку " 1.2", будет возвращено значение 1.2:
print(float(" 1.2"))
# 1.2
Примечание редакции: о преобразовании строк в числа с плавающей запятой и обратно можно почитать в статье «Как преобразовать строку в число с плавающей точкой».
Функция float() и бесконечность
Бесконечность в Python обозначается как inf. Это может быть либо отрицательная бесконечность (-inf), либо положительная бесконечность (inf).
Если параметр, переданный в функцию float(), представляет собой целое число, которое превышает максимальное значение чисел с плавающей запятой, то также возвращается значение inf.
print(float("inf"))
# inf
Тот же результат получится, если параметр будет иметь значение «inf», «Infinity», «iNfiNity» или любой другой подобный вариант. Данный параметр не чувствителен к регистру.
Передача NaN в функцию float()
NaN обозначает «Not a Number» («не число»). NaN представляет собой отсутствующее значение в наборе данных. Специалисты по данным используют его в качестве заполнителя для представления неопределенных или отсутствующих значений.
При передаче строки «NaN» в качестве параметра функция float() возвращает nan.
print(float("NaN"))
# nan
Обратите внимание, что аргумент NaN также не чувствителен к регистру. Таким образом, передача Nan, NAN, nan или любого другого варианта даст вам то же самое.
Итоги
Как вы увидели, float() — очень важная функция для представления чисел с плавающей запятой. Она позволяют программистам работать с десятичными значениями. В этой статье мы рассмотрели основы работы функции float() в Python и показали несколько примеров ее использования с разными аргументами.
Перевод статьи Nathan Ojiakomo «A Step-by-Step Guide to Python Float()».

Спасибо за полезную статью. Разбираюсь с ошибкой — превышение значения float
гзИл