Язык программирования Python использует различные типы данных для хранения значений, а float (числа с плавающей запятой) — один из наиболее важных. В этой статье мы познакомим вас с этим типом данных и научим приводить значения других типов к типу float при помощи функции float()
.
БЕСПЛАТНО СКАЧАТЬ КНИГИ по Python на русском языке можно у нас в телеграм канале "Python книги на русском"
Основные типы данных в 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()
преобразовала это значение в число с плавающей запятой. Вы можете сделать то же самое и с отрицательными строковыми значениями.
Имейте в виду, что строка должна содержать только цифры. Если вы попробуете ввести строку с символами, отличными от цифр, программа вернет ошибку.
![Текст ошибки ValueError при передаче функции float() строки "This is a string".](https://pythonturbo.ru/wp-content/uploads/2023/02/a-step-by-step-guide-to-python-float-2.png)
![Текст ошибки ValueError при передаче функции float() строки "This is a string".](https://pythonturbo.ru/wp-content/uploads/2023/02/a-step-by-step-guide-to-python-float-2.png)
Функция 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