💧 «Float в Python: плавающая точка — всё, что нужно знать!»

Привет! 👋 Сегодня мы разберёмся с одним из важнейших числовых типов в Python — float (числа с плавающей точкой). Вы узнаете, что это такое, зачем они нужны, как с ними работать и какие подводные камни могут встретиться. Поехали! 🚀

Что такое float в Python? 🤔

float (от англ. floating point — «плавающая точка») — это тип данных в Python для представления дробных чисел. В отличие от целых чисел (int), float может содержать десятичную часть.

Примеры чисел типа float:

  • 3.14 (число π);
  • 0.001 (одна тысячная);
  • -2.5 (отрицательное дробное число);
  • 1e3 (научная нотация: 1×103=1000.0).

Чем float отличается от int? 🆚

float

int

Дробные числа

Целые числа

Десятичная точка

Без десятичной точки

Пример:

3.14

,

0.5

Пример:

3

,

100

Занимает больше памяти

Занимает меньше памяти

Пример:

x = 5      # int
y = 5.0    # float
print(type(x))  # <class 'int'>
print(type(y))  # <class 'float'>

Как создать число типа float? 🧱

Есть несколько способов:

  1. Прямое указание с точкой:
pi = 3.14
temperature = -5.5
  1. Преобразование из int:
number = float(42)  # 42.0
  1. Преобразование из строки:
price = float("19.99")  # 19.99
  1. Научная нотация:
large_number = 1e6     # 1000000.0 (миллион)
small_number = 2.5e-3 # 0.0025 (2.5 тысячных)

Арифметические операции с float 🔢

С числами float можно выполнять все стандартные математические операции:

a = 10.5
b = 3.2

print(a + b)  # 13.7
print(a - b)  # 7.3
print(a * b)  # 33.6
print(a / b)  # 3.28125
print(a ** 2) # 110.25 (возведение в степень)
print(a % b)  # 4.1 (остаток от деления)

Округление чисел float 🔎

Для округления дробных чисел используется функция round():

pi = 3.14159

print(round(pi))        # 3
print(round(pi, 2))     # 3.14 (до 2 знаков после запятой)
print(round(pi, 3))     # 3.142 (до 3 знаков после запятой)

Особенности и подводные камни ⚠️

  1. Точность вычислений: из‑за особенностей хранения чисел с плавающей точкой могут возникать небольшие погрешности:
print(0.1 + 0.2)  # 0.30000000000000004 (а не 0.3!)

Это нормально для всех языков программирования.

  1. Сравнение чисел float: из‑за погрешностей не стоит сравнивать float на точное равенство (==). Лучше проверять, что разница меньше некоторого малого значения:
import math

a = 0.1 + 0.2
b = 0.3

# Неправильно:
print(a == b)  # False

# Правильно:
print(math.isclose(a, b))  # True
  1. Преобразование в int: при преобразовании float в int дробная часть отбрасывается (не округляется):
print(int(3.9))  # 3 (а не 4!)

Практические примеры использования 💡

Пример 1: Расчёт среднего балла

grades = [4.5, 5.0, 3.8, 4.2]
average = sum(grades) / len(grades)
print(f"Средний балл: {average:.2f}")  # Средний балл: 4.38

Пример 2: Конвертер валют

usd_to_rub = 95.5  # курс доллара к рублю
amount_usd = 100.0
amount_rub = amount_usd * usd_to_rub
print(f"{amount_usd}$ = {amount_rub}₽")  # 100.0$ = 9550.0₽

Пример 3: Расчёт площади круга

import math
radius = 5.5
area = math.pi * radius ** 2
print(f"Площадь круга радиусом {radius}: {area:.2f}")
# Площадь круга радиусом 5.5: 95.03

Полезные функции для работы с float 🛠️

  • round(x, n) — округляет число x до n знаков после запятой;
  • math.floor(x) — округляет вниз до ближайшего целого;
  • math.ceil(x) — округляет вверх до ближайшего целого;
  • math.isclose(a, b) — проверяет, близки ли два числа float;
  • isinstance(x, float) — проверяет, является ли x числом типа float.

Часто задаваемые вопросы ❓

  1. Что такое float в Python?
    Тип данных для представления дробных чисел (чисел с плавающей точкой).
  2. Чем float отличается от int?
    float содержит десятичную часть (например, 3.14), а int — только целые числа (например, 3).
  3. Как преобразовать строку в float?
    Используйте float("12.34").
  4. Почему 0.1 + 0.2 != 0.3?
    Из‑за особенностей двоичного представления чисел с плавающей точкой возникают небольшие погрешности.
  5. Как правильно сравнивать числа float?
    Используйте math.isclose(a, b) вместо a == b.
  6. Как округлить число float?
    С помощью функции round(number, decimal_places).
  7. Что будет, если преобразовать float в int?
    Дробная часть отбрасывается без округления: int(3.9) даст 3.
  8. Можно ли использовать научную нотацию для float?
    Да, например: 1e6 — это 1000000.0.
  9. Как проверить, является ли переменная числом float?
    Используйте isinstance(variable, float).
  10. Занимает ли float больше памяти, чем int?
    Да, обычно float занимает больше памяти из‑за хранения дробной части.

🔔 Пройди опрос и узнай, какой курс обучения тебе подходит! 🎯

Переходи по ссылке: t.me/kursypythonbot и выбери свой путь в мире программирования! 💻🚀

#Python #float #ЧислаСПлавающейТочкой #Программирование #Обучение #Кодинг #IT #PythonДляНачинающих #Код #Разработка #ОсновыPython

16 views·1 share