Stewdent.eu
▾

Konštanty

Konštanta je pomenovaná hodnota, ktorá sa počas behu programu nemení. Používajú sa na uchovanie pevných hodnôt, ako je číslo pi alebo maximálne skóre.

Posledná aktualizácia: 25. decembra 2025

★☆☆☆☆ Stupeň 1computingprogrammingkonstantypremenne4 min čítania

Nahlásiť chybu

Pri programovaní sa stretávaš s hodnotami, ktoré sa menia (napríklad skóre hráča), ale aj s hodnotami, ktoré zostávajú vždy rovnaké. Keď vieš, že nejaká hodnota sa nikdy nezmení, je dobré ju označiť ako konštantu.

Čo je konštanta?

Konštanta je pomenovaný priestor v pamäti, rovnako ako premenná, ale jej hodnota sa po prvom nastavení nemení. Príklady hodnôt, ktoré majú zmysel uložiť ako konštanty:

  • Hodnota čísla pí (3.14159…)
  • Maximálny počet životov v hre
  • Cena DPH
  • Rýchlosť svetla

Konštanty robia kód čitateľnejším a predchádzajú chybám: ak použiješ rovnaké číslo na desiatich miestach a neskôr ho potrebuješ zmeniť, stačí ho upraviť na jednom mieste — tam, kde je konštanta definovaná.

Konštanty v Pythone

Python nemá špeciálne kľúčové slovo pre konštanty (na rozdiel od jazykov ako Java alebo C#). Namiesto toho sa programátori dohodli na konvencii: názvy konštánt sa píšu VEĽKÝMI PÍSMENAMI s podčiarkovníkmi medzi slovami.

MAX_ZIVOTY = 3
PI = 3.14159
DPH = 0.20
NAZOV_HRY = "Vesmírna odysea"

Python sám nespomalí zmenu takejto hodnoty — je to len dohoda medzi programátormi. Ak vidíš názov premennej napísaný veľkými písmenami, vieš, že ju nemáš meniť.

Poznámka

V jazykoch ako Java alebo C# môžeš použiť kľúčové slovo final (Java) alebo const (C#, JavaScript), ktoré skutočne zabraňuje zmene hodnoty. Python sa spolieha na konvenciu.

Prečo používať konštanty?

Predstav si, že píšeš hru a na 20 rôznych miestach v kóde používaš číslo 3 ako maximálny počet životov. Čo sa stane, keď sa rozhodneš dať hráčovi 5 životov? Musel by si nájsť a zmeniť všetkých 20 výskytov čísla 3 — a ľahko na niektoré zabudnúť.

S konštantou stačí zmeniť jediný riadok:

# Stara verzia
MAX_ZIVOTY = 3

# Nova verzia — zmenime len tu
MAX_ZIVOTY = 5

Všetok ostatný kód, ktorý používa MAX_ZIVOTY, sa automaticky prispôsobí.

Konštanty verzus premenné

VlastnosťPremennáKonštanta
Hodnota sa môže meniťÁnoNie (konvencia)
Zápis v Pythonemalo_pismenaVELKE_PISMENA
ÚčelUkladanie meniacich sa dátPevné, nemenné hodnoty
Tip

Keď sa rozhoduješ, či použiť premennú alebo konštantu, polož si otázku: "Zmení sa táto hodnota počas behu programu?" Ak nie, použi konštantu.

Príklad — jednoduchá hra

MAX_ZIVOTY = 3
NAZOV_HRACE = "Hráč 1"

zivoty = MAX_ZIVOTY  # premenná, začína na hodnote konštanty

print(f"Vitaj, {NAZOV_HRACE}!")
print(f"Máš {zivoty} životov.")

# Hráč príde o jeden život
zivoty = zivoty - 1
print(f"Zostatok životov: {zivoty}")

Všimni si, že MAX_ZIVOTY sa nemení — slúži len ako referenčná hodnota. Premenná zivoty sa mení podľa toho, ako hra prebieha.

Upozornenie

Nezabudni: Python ťa nezastaví, ak sa pokúsiš zmeniť konštantu. Je to len dohoda. Záleží na tebe, aby si ju dodržiaval.

Cvičné príklady

Prečo je lepšie písať MAX_ZIVOTY = 3 namiesto toho, aby si číslo 3 písal priamo na každom mieste v kóde?

Zobraziť odpoveď
Ak sa hodnota neskôr zmení, stačí ju upraviť na jednom mieste. Priame použitie čísla (tzv. 'magické číslo') by si musel hľadať a meniť na každom výskyte, čo je pomalé a náchylné na chyby.

Ktorý z nasledujúcich zápisov správne označuje konštantu podľa Pythonovej konvencie: maxSkore, MaxSkore, MAX_SKORE, max_skore?

Zobraziť odpoveď
MAX_SKORE — konštanty sa v Pythone podľa konvencie píšu veľkými písmenami, pričom slová sú oddelené podčiarkovníkom.