Každá hodnota v programe má svoj dátový typ. Typ určuje, čo hodnota predstavuje, koľko pamäte zaberá a aké operácie s ňou môžeme robiť. Pochopenie dátových typov je nevyhnutné pre správne a efektívne programovanie.
Základné dátové typy
Celé čísla (int)
Celé čísla nemajú desatinnú časť. Používame ich na počítanie, indexovanie a diskrétne hodnoty.
pocet_studentov = 30
rok = 2024
teplota = -5
Desatinné čísla (float)
Desatinné čísla (pohyblivá rádová čiarka) uchovávajú hodnoty s desatinnou časťou.
vyska = 1.75
pi = 3.14159
teplota = 36.6
Desatinné čísla v počítači nie sú vždy presné — ide o aproximácie. Preto 0.1 + 0.2 môže dať 0.30000000000000004. Na finančné výpočty používajte typ Decimal.
Reťazce (str)
Reťazec je postupnosť znakov — text. V Pythone ho uzatvárame do úvodzoviek (jednoduchých alebo dvojitých).
meno = "Katarína"
pozdrav = 'Dobrý deň!'
prazdny = ""
S reťazcami môžeme vykonávať rôzne operácie: spájanie (+), opakovanie (*), zisťovanie dĺžky (len()), rozdeľovanie a mnoho ďalších.
Booleany (bool)
Boolean môže nadobúdať len dve hodnoty: True (pravda) alebo False (nepravda). Používame ich pri podmienkach a rozhodovaní.
jeStudent = True
maPrukaz = False
V Pythone majú booleany aj číselnú hodnotu: True = 1, False = 0. Preto môžete písať napríklad sum([True, False, True]) a dostanete 2.
Konverzia typov
Niekedy potrebujeme previesť hodnotu z jedného typu na iný — tomuto sa hovorí konverzia typov alebo pretypovanie.
| Funkcia | Prevod na | Príklad |
|---|---|---|
int() | Celé číslo | int("42") → 42 |
float() | Desatinné číslo | float(5) → 5.0 |
str() | Reťazec | str(100) → "100" |
bool() | Boolean | bool(0) → False |
vstup = input("Zadaj číslo: ") # input() vracia reťazec
cislo = int(vstup) # prevedieme na celé číslo
print(cislo * 2)
Vždy skontrolujte typ vstupu pred jeho použitím. Pokus o sčítanie čísla a reťazca spôsobí chybu. Funkcia type() vám prezradí typ ľubovoľnej hodnoty.
Prečo záleží na type
Výber správneho dátového typu ovplyvňuje:
- Presnosť výpočtov:
intvsfloatmôžu dávať rôzne výsledky pri delení. - Pamäťovú náročnosť: rôzne typy zaberajú rôzne množstvo pamäte.
- Dostupné operácie: reťazce môžeme spájať, nie sčítavať ako čísla.
Dobrý programátor vždy premýšľa, aký typ je pre danú situáciu najvhodnejší.
Cvičné príklady
Čo sa stane, ak sa pokúsime sčítať int a str v Pythone, napríklad 5 + '3'?