💧 «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? 🧱
Есть несколько способов:
- Прямое указание с точкой:
pi = 3.14 temperature = -5.5
- Преобразование из
int:
number = float(42) # 42.0
- Преобразование из строки:
price = float("19.99") # 19.99
- Научная нотация:
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 знаков после запятой)
Особенности и подводные камни ⚠️
- Точность вычислений: из‑за особенностей хранения чисел с плавающей точкой могут возникать небольшие погрешности:
print(0.1 + 0.2) # 0.30000000000000004 (а не 0.3!)
Это нормально для всех языков программирования.
- Сравнение чисел
float: из‑за погрешностей не стоит сравниватьfloatна точное равенство (==). Лучше проверять, что разница меньше некоторого малого значения:
import math a = 0.1 + 0.2 b = 0.3 # Неправильно: print(a == b) # False # Правильно: print(math.isclose(a, b)) # True
- Преобразование в
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.
Часто задаваемые вопросы ❓
- Что такое
floatв Python?
Тип данных для представления дробных чисел (чисел с плавающей точкой). - Чем
floatотличается отint?floatсодержит десятичную часть (например,3.14), аint— только целые числа (например,3). - Как преобразовать строку в
float?
Используйтеfloat("12.34"). - Почему
0.1 + 0.2 != 0.3?
Из‑за особенностей двоичного представления чисел с плавающей точкой возникают небольшие погрешности. - Как правильно сравнивать числа
float?
Используйтеmath.isclose(a, b)вместоa == b. - Как округлить число
float?
С помощью функцииround(number, decimal_places). - Что будет, если преобразовать
floatвint?
Дробная часть отбрасывается без округления:int(3.9)даст3. - Можно ли использовать научную нотацию для
float?
Да, например:1e6— это 1000000.0. - Как проверить, является ли переменная числом
float?
Используйтеisinstance(variable, float). - Занимает ли
floatбольше памяти, чемint?
Да, обычноfloatзанимает больше памяти из‑за хранения дробной части.
🔔 Пройди опрос и узнай, какой курс обучения тебе подходит! 🎯
Переходи по ссылке: t.me/kursypythonbot и выбери свой путь в мире программирования! 💻🚀
#Python #float #ЧислаСПлавающейТочкой #Программирование #Обучение #Кодинг #IT #PythonДляНачинающих #Код #Разработка #ОсновыPython
