Stewdent.eu
▾

Parametre a argumenty

Parametre sú premenné, ktoré funkcia prijíma ako vstup. Argumenty sú skutočné hodnoty odovzdané funkcii pri jej volaní. Vďaka nim môže jedna funkcia pracovať s rôznymi dátami.

Posledná aktualizácia: 1. januára 2026

★★☆☆☆ Stupeň 2computingprogrammingfunkcieparametreargumenty3 min čítania

Nahlásiť chybu

Funkcie by boli menej užitočné, keby vždy robili presne to isté. Parametre umožňujú funkcii pracovať s rôznymi hodnotami pri každom volaní — rovnako ako výpočet obvodu obdĺžnika funguje pre akékoľvek rozmery.

Parametre verzus argumenty

Tieto dva pojmy sú príbuzné, ale odlišné:

  • Parameter — premenná v definícii funkcie (čo funkcia čaká).
  • Argument — skutočná hodnota, ktorú odovzdáš pri volaní funkcie.
def pozdrav(meno):        # meno je PARAMETER
    print(f"Ahoj, {meno}!")

pozdrav("Zuzana")         # "Zuzana" je ARGUMENT
pozdrav("Martin")         # "Martin" je ARGUMENT

Viac parametrov

Funkcia môže mať viacero parametrov oddelených čiarkami:

def vypocitaj_obvod(dlzka, sirka):
    obvod = 2 * (dlzka + sirka)
    print(f"Obvod: {obvod} cm")

vypocitaj_obvod(5, 3)     # dlzka=5, sirka=3 → Obvod: 16 cm
vypocitaj_obvod(10, 4)    # dlzka=10, sirka=4 → Obvod: 28 cm
Poznámka

Pri volaní funkcie Python priraďuje argumenty k parametrom v poradí — prvý argument ide do prvého parametra, druhý do druhého atď. Toto sa nazýva poziční argumenty.

Pomenované argumenty

Môžeš argumenty zadať aj s názvom parametra — potom na poradí nezáleží:

def predstav_sa(meno, vek, mesto):
    print(f"Volám sa {meno}, mám {vek} rokov a bývam v {mesto}.")

predstav_sa(vek=14, mesto="Bratislava", meno="Peter")

Pomenované argumenty robia volania dlhých funkcií čitateľnejšími.

Predvolené hodnoty parametrov

Parameter môže mať predvolenú hodnotu, ktorá sa použije, ak argument nie je zadaný:

def pozdrav(meno, pozdrav="Ahoj"):
    print(f"{pozdrav}, {meno}!")

pozdrav("Eva")              # Ahoj, Eva!
pozdrav("Eva", "Dobrý deň") # Dobrý deň, Eva!
Tip

Parametre s predvolenými hodnotami musia byť vždy za parametrami bez predvolených hodnôt. Python by inak nevedel, ktoré argumenty sú povinné.

Premenlivý počet argumentov (*args)

Niekedy nevieš vopred, koľko argumentov funkcia dostane:

def spocitaj(*cisla):
    sucet = 0
    for c in cisla:
        sucet += c
    return sucet

print(spocitaj(1, 2, 3))         # 6
print(spocitaj(10, 20, 30, 40))  # 100

Hviezdička * pred názvom parametra hovorí Pythonu: "zozbieraj všetky argumenty do n-tice."

Parametre ako lokálne premenné

Parametre sú lokálne premenné funkcie — existujú len počas jej behu:

def zdvojnasob(x):
    x = x * 2     # mení lokálnu kópiu
    print(x)

cislo = 5
zdvojnasob(cislo)
print(cislo)      # stále 5 — originál sa nezmenil
Upozornenie

Keď odovzdáš číslo alebo reťazec do funkcie, funkcia dostane kópiu hodnoty. Zmena parametra vo funkcii nezmení pôvodnú premennú. (Pri zoznamoch a objektoch je to iné — tie sa odovzdávajú odkazom.)

Cvičné príklady

Aký je rozdiel medzi parametrom a argumentom? Uveď príklad.

Zobraziť odpoveď
Parameter je premenná v definícii funkcie, napr. def plochaObdlznika(a, b) — a a b sú parametre. Argument je skutočná hodnota pri volaní, napr. plochaObdlznika(5, 3) — 5 a 3 sú argumenty.

Čo vypíše tento kód? def uvitaj(meno, titul='Žiak'): print(f'{titul} {meno}'); uvitaj('Novák'); uvitaj('Horváth', 'Profesor')

Zobraziť odpoveď
Vypíše: 'Žiak Novák' (použila sa predvolená hodnota tituluŽiak') a 'Profesor Horváth' (titul bol explicitne zadaný).