Typ float w Pythonie służy do reprezentacji liczb rzeczywistych, czyli takich, które mają część całkowitą i ułamkową, a więc również wartości z przecinkiem dziesiętnym (w Pythonie zapisywanym jako kropka). Jest to jeden z podstawowych typów numerycznych w języku Python i ma kluczowe znaczenie w obliczeniach matematycznych, naukowych oraz wszędzie tam, gdzie potrzebna jest precyzja poza samymi liczbami całkowitymi.
- Float (z ang. floating point) to liczba zmiennoprzecinkowa, czyli taka, która może mieć zarówno część całkowitą, jak i dziesiętną;
- Python rozpoznaje typ tej liczby automatycznie – wystarczy przypisać do zmiennej np.
3.14lub-2.5, a interpreter utworzy zmienną typu float; - Przykład deklaracji.
liczba = 4.75 # typ float
Jak rozpoznać i sprawdzić typ float?
Istnieje prosta metoda na sprawdzanie typu zmiennej w Pythonie – funkcja type():
a = 10.5
print(type(a)) # Wyświetli: <class 'float'>
Liczba z kropką dziesiętną lub w notacji wykładniczej (np. 1.2e-5) jest traktowana automatycznie jako float.
Różnice – float i int
| Cecha | float | int |
|---|---|---|
| Przechowuje | Liczby rzeczywiste | Liczby całkowite |
| Przykład | 3.14, -2.71, 5.0 | 4, -10, 10000 |
| Sposób zapisu | Z kropką dziesiętną | Bez kropki dziesiętnej |
| Precyzja | Ograniczona do ~15 cyfr | Ograniczona tylko pamięcią |
Jak tworzony jest float?
- Typ float powstaje przez przypisanie liczby z kropką dziesiętną lub w notacji wykładniczej (np.
1e3to 1000.0); - Można rzutować (zamieniać) inne typy na float, np.
float(5)da wynik5.0.
Przykład:
x = float(7) # Wynik: 7.0
y = float("2.8") # Wynik: 2.8
Problemy i precyzja float
- Float przechowuje liczby w przybliżeniu – są to tzw. liczby zmiennoprzecinkowe podlegające standardowi IEEE 754 i mają skończoną precyzję (~15-17 cyfr znaczących);
- To może prowadzić do drobnych błędów w obliczeniach – np.
0.1 + 0.2 != 0.3dokładnie; - W sytuacjach wymagających większej precyzji (np. rachunkowość) lepszym wyborem jest biblioteka
decimal.
Podstawowe operacje na float
- Można wykonywać wszystkie operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, dzielenie, potęgowanie itp.;
- Wynik większości działań z udziałem float będzie również float;
- Możliwe jest mieszanie z typem int (np.
3 + 1.2da wynik typu float).
Przykłady i porady praktyczne
Tworzenie –
a = 4.0
b = -15.325
c = 1e-3 # równoważne 0.001
Rzutowanie –
a = int(5.8) # Wynik: 5 (ucięcie części dziesiętnej)
b = float(2) # Wynik: 2.0
Zaokrąglanie –
round(3.14159, 2) # Wynik: 3.14
Porównania – do porównywania wyników obliczeń na floatach najlepiej użyć tolerancji:
abs(a - b) < 1e-9
Wskazówki i dobre praktyki
- Do precyzyjnych obliczeń finansowych – używaj typu decimal (
from decimal import Decimal); - Jeśli porównujesz wartości float – stosuj margines błędu, a nie operator
==; - Zwracaj uwagę na konwersję typów i możliwości utraty precyzji przy bardzo dużych/małych liczbach;
- Python automatycznie “podnosi” wynik działania int + float na float.
Podsumowanie
Float w Pythonie to podstawowy typ zmiennoprzecinkowy, umożliwiający przechowywanie i operowanie na liczbach rzeczywistych. Zapewnia dużą elastyczność, ale jego ograniczenia precyzyjne wymagają znajomości dobrych praktyk programistycznych i ostrożności w zastosowaniach wymagających bardzo wysokiej dokładności.