Premenné môžu byť lokálne alebo globálne.
# GLOBALNE PREMENNE su definovane (je do nich prvy krat nieco vlozene)
# niekde mimo funkcie, taze napriklad toto 'x' a 'y' su GLOBALNE:
x = 100
y = 200
# LOKALNE PREMENNE su definovane vo funkcii a platia iba vo funkcii
# napriklad premenna 'm' je LOKALNA, aj parametre funkcie 'p1' a 'p2' su LOKALNE
def funkcia(p1, p2):
m = p1 + p2
# UKAZKA 01 - lokalna premenna sa po ukonceni prace funkcie vymaze
funkcia(10,20) # funkcia si vytvori LOKALNE 'm' ktore potom aj vymaze
print(m) # toto sposobi chybu NameError: name 'm' is not defined
# pretoze print sa snazi najst GLOBALNU premennu 'm' a taka neexistuje
# UKAZKA 02 - vo funkcii mozeme citat hodnoty globalnych premennych
x = 20
def funkcia_02(a,b):
vysledok = a + b + x # tu mozeme pouzit GLOBALNE 'x' - hodnotu z neho len citame
return vysledok
# UKAZKA 03 - LOKALNA a GLOBALNA premenna mozu mat rovnaky nazov
# v tom pripade pouziva funkcia LOKALNU premennu
def funkcia_03(a):
x = 5 # vytvarame LOKALNU premennu 'x', ktora 'zakryje' GLOBALNE 'x'
return a + x
x = 50
v = funkcia_03(5)
print(v) # vypise 15
print(x) # vypise 50, GLOBALNA premenna nebola zmenena ani ked sme zavolali funkciu!
# UKAZKA 04 - aj globalnu premennu mozeme upravovat (zapisovat do nej) vnutri funkcie
# aby funkcia pouzivala GLOBALNU premennu a nevytvorila LOKALNU, musime jej to povedat
def funkcia_04(a):
global x # pouzivame GLOBALNE 'x', ak ho upravime, upravi sa GLOBALNE
x = x + a # upravujeme GLOBALNE x
x = 10
funkcia_04(100)
print(x) # vypise 110