
В Python вещественные числа представлены типом float, который хранит значения с плавающей точкой двойной точности. Они позволяют работать с дробными значениями, включая финансовые расчёты, физические измерения и статистику. Литералы вещественных чисел можно записывать через точку, например 3.14, или в экспоненциальной форме 1.2e3 для больших и малых значений.
Преобразование других типов в float часто требуется при обработке пользовательского ввода или чтении данных из файлов. Для этого используются встроенные функции float(), которые корректно преобразуют строки с десятичными разделителями и целые числа. При этом важно учитывать, что точность хранения ограничена, и арифметические операции могут давать небольшие погрешности.
Python предоставляет широкий набор операций с вещественными числами: сложение, вычитание, умножение, деление и возведение в степень. Для контроля отображения чисел применяются функции round() и форматирование через f-строки. В коллекциях float-значения можно использовать в списках, кортежах и словарях, что позволяет строить массивы данных и выполнять вычисления в циклах без дополнительных преобразований.
Создание вещественных чисел с помощью литералов

В Python вещественные числа можно записывать напрямую в коде с использованием десятичной точки. Например, 3.5 или 0.001 создают объекты типа float. Числа без целой части записываются с ведущим нулём: 0.75, а числа больше тысячи удобно выражать через экспоненциальную форму, например 1.2e3, что эквивалентно 1200.0.
Для отрицательных чисел достаточно добавить знак минус перед литералом: -4.2. Python корректно интерпретирует такие значения при вычислениях. Литералы с плавающей точкой можно использовать в арифметических выражениях сразу после объявления, без дополнительных преобразований.
Экспоненциальная запись особенно полезна при работе с очень маленькими или большими величинами: 5e-4 соответствует 0.0005, 7.1e6 – 7100000.0. Использование литералов в таких форматах упрощает код, делает его компактным и удобным для точных вычислений в науке и инженерии.
Преобразование строк и целых чисел в float

Для преобразования целых чисел в вещественные используется функция float(). Например, float(7) возвращает 7.0, что позволяет сразу выполнять операции с другими числами с плавающей точкой без ошибок типов.
Строки с десятичными числами также преобразуются через float(). Примеры: float(«3.14») даст 3.14, а float(«-0.25») – -0.25. При этом необходимо, чтобы строка имела корректный формат: наличие пробелов в начале или конце допускается, а лишние символы приведут к ошибке ValueError.
Для работы с экспоненциальной записью строки также корректно интерпретируются: float(«1.5e2») возвращает 150.0, float(«-2.3e-3») – -0.0023. Использование float() удобно при чтении числовых данных из файлов, пользовательского ввода или сетевых источников.
Использование математических операций с вещественными числами

В Python вещественные числа поддерживают стандартные арифметические операции. Основные из них:
- Сложение: 3.5 + 2.1 даст 5.6
- Вычитание: 5.0 — 1.2 даст 3.8
- Умножение: 2.5 * 4.0 даст 10.0
- Деление: 7.0 / 2.0 даст 3.5
- Возведение в степень: 3.0 2 даст 9.0
- Деление с остатком: 5.5 % 2.0 даст 1.5
При операциях с float важно учитывать погрешности вычислений. Например, 0.1 + 0.2 может дать 0.30000000000000004. Для точного сравнения рекомендуется использовать функцию round() или модуль math.isclose().
Математические операции с вещественными числами можно комбинировать в выражениях, применять в циклах и списковых включениях для массовых вычислений. Например:
- Создание списка квадратов: [x2 for x in [1.1, 2.2, 3.3]]
- Вычисление среднего: sum(values)/len(values)
Округление и форматирование чисел с плавающей точкой
Для округления вещественных чисел в Python используется функция round(). Она принимает два аргумента: число и количество знаков после запятой. Например, round(3.14159, 2) вернёт 3.14, а round(2.71828) – 3. Округление важно при отображении результатов, где требуется фиксированная точность.
Форматирование чисел удобно выполнять с помощью f-строк и метода format(). Примеры:
Для представления числа в экспоненциальной форме можно использовать спецификатор e: f»{0.000123:.2e}» вернёт 1.23e-04. Такой подход полезен при работе с очень большими или маленькими величинами и при генерации отчётов с единообразным отображением чисел.
Сравнение вещественных чисел и особенности точности
В Python сравнение вещественных чисел с помощью операторов ==, !=, <, > может давать неожиданные результаты из-за ограниченной точности хранения. Например, выражение 0.1 + 0.2 == 0.3 вернёт False, хотя математически равенство выполняется.
Для надёжного сравнения используют функцию math.isclose(), которая учитывает допустимую погрешность. Пример: math.isclose(0.1 + 0.2, 0.3, rel_tol=1e-9) вернёт True. Здесь rel_tol задаёт относительную точность, а abs_tol – абсолютную, что полезно при работе с очень малыми или большими числами.
При сортировке или поиске значений в списках с float стоит учитывать округление: рекомендуется применять round() к числам перед сравнением или хранить данные с фиксированным количеством знаков после запятой.
Применение встроенных функций для работы с float

Python предоставляет несколько встроенных функций для работы с вещественными числами. Основные из них можно представить в виде таблицы:
| Функция | Описание | Пример |
|---|---|---|
| abs() | Возвращает абсолютное значение числа | abs(-3.5) → 3.5 |
| round() | Округляет число до указанного количества знаков после запятой | round(2.71828, 2) → 2.72 |
| pow() | Возводит число в степень, поддерживает float | pow(1.5, 2) → 2.25 |
| min(), max() | Возвращают минимальное или максимальное значение из набора чисел | max(1.2, 3.4, 2.5) → 3.4 |
| sum() | Суммирует последовательность float-чисел | sum([1.1, 2.2, 3.3]) → 6.6 |
В Python вещественные числа можно хранить и отображать в экспоненциальной форме с помощью литералов с буквой e. Примеры: 1.2e3 соответствует 1200.0, 5.6e-4 – 0.00056. Такая запись полезна для больших и малых величин, позволяя избежать длинных последовательностей нулей.
- f»{1234567.0:.2e}» – выведет 1.23e+06
- «{:.3e}».format(0.000789) – выведет 7.890e-04
При работе с экспоненциальной формой важно учитывать точность: количество знаков после запятой задаётся спецификатором формата. Для вычислений числа в экспоненциальной форме ведут себя как обычные float и могут использоваться в арифметических выражениях без дополнительных преобразований.
Использование вещественных чисел в коллекциях и циклах

Вещественные числа в Python можно хранить в списках, кортежах, множествах и словарях, что позволяет выполнять массовые вычисления и обрабатывать наборы данных:
- Списки: values = [1.2, 3.4, 5.6]
- Кортежи: points = (0.5, 2.3, 4.1)
- Множества: unique = {0.1, 0.2, 0.3}
- Словари: measurements = {«x»: 1.1, «y»: 2.2}
Циклы позволяют производить вычисления для всех элементов коллекции. Примеры:
- Сумма значений в списке: total = 0.0; for v in values: total += v
- Создание нового списка с квадратами: squares = [x**2 for x in values]
- Фильтрация элементов: filtered = [x for x in values if x > 2.0]
Вопрос-ответ:
Как создать вещественное число в Python и какие формы записи доступны?
В Python вещественные числа создаются с помощью литералов с десятичной точкой или в экспоненциальной форме. Примеры: 3.14, 0.001, 1.2e3. Отрицательные числа записываются с минусом, например -4.5. Экспоненциальная запись упрощает работу с очень большими или малыми числами.
Можно ли преобразовать строку или целое число в float, и как это сделать?
Да, для преобразования используют функцию float(). Целое число 7 становится 7.0. Строки с дробными числами, например «3.5» или «-0.25», также корректно преобразуются. Важно, чтобы строка не содержала лишние символы, иначе возникнет ошибка ValueError.
Какие особенности нужно учитывать при сравнении вещественных чисел?
Из-за ограниченной точности хранения прямое сравнение == может быть ненадёжным. Например, 0.1 + 0.2 == 0.3 возвращает False. Для точного сравнения используют math.isclose(), задавая допустимую относительную или абсолютную погрешность.
Как работать с вещественными числами в списках и циклах?
Float-значения можно хранить в списках, кортежах, множествах и словарях. В циклах их используют для вычислений, фильтрации и создания новых списков. Примеры: squares = [x**2 for x in values], total = sum(values), filtered = [x for x in values if x > 2.0]. Это упрощает массовую обработку данных и подготовку результатов.
