Rozsah Pythonu
Proměnná je dostupná pouze z oblasti, ve které byla vytvořena. Tomu se říká rozsah .
Místní rozsah
Proměnná vytvořená uvnitř funkce patří do místního rozsahu této funkce a lze ji použít pouze uvnitř této funkce.
Příklad
Proměnná vytvořená uvnitř funkce je k dispozici uvnitř této funkce:
def myfunc():
x = 300
print(x)
myfunc()
Funkce Uvnitř Funkce
Jak je vysvětleno v příkladu výše, proměnná x
není dostupná mimo funkci, ale je dostupná pro jakoukoli funkci uvnitř funkce:
Příklad
K místní proměnné lze přistupovat z funkce v rámci funkce:
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
Globální rozsah
Proměnná vytvořená v hlavním těle kódu Pythonu je globální proměnná a patří do globálního rozsahu.
Globální proměnné jsou dostupné z libovolného rozsahu, globálního i lokálního.
Příklad
Proměnná vytvořená mimo funkci je globální a může ji používat kdokoli:
x = 300
def myfunc():
print(x)
myfunc()
print(x)
Pojmenování proměnných
Pokud pracujete se stejným názvem proměnné uvnitř i vně funkce, Python s nimi bude zacházet jako se dvěma samostatnými proměnnými, z nichž jedna je dostupná v globálním rozsahu (mimo funkci) a druhá v lokálním rozsahu (uvnitř funkce):
Příklad
Funkce vytiskne místní x
a poté kód vypíše globální x
:
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
Globální klíčové slovo
Pokud potřebujete vytvořit globální proměnnou, ale uvízli jste v místním rozsahu, můžete použít
global
klíčové slovo.
Klíčové global
slovo dělá proměnnou globální.
Příklad
Pokud použijete global
klíčové slovo, proměnná patří do globálního rozsahu:
def myfunc():
global x
x = 300
myfunc()
print(x)
Také použijte global
klíčové slovo, pokud chcete provést změnu globální proměnné uvnitř funkce.
Příklad
Chcete-li změnit hodnotu globální proměnné uvnitř funkce, podívejte se na proměnnou pomocí global
klíčového slova:
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)