Python alue

Muuttujat ovat käytettävissä vain niiden luomisalueella. Tämä kutsutaan alueeksi.

Paikallinen alue

Muuttujat, jotka luodaan funktioiden sisällä, kuuluvat kyseisen funktion paikalliseen alueeseen ja voidaan käyttää vain kyseisessä funktiossa.

Esimerkki

Muuttujat, jotka luodaan funktioiden sisällä, ovat käytettävissä vain kyseisessä funktiossa:

def myfunc():
  x = 100
  print(x)
myfunc()

Suorita esimerkki

Funktion sisällä oleva funktio

Kuten edellä olevassa esimerkissä näkyy, muuttuja x ei ole käytettävissä ulkopuolella funktiota, mutta se on käytettävissä funktion sisällä sijaitseville muiden funktioiden:

Esimerkki

Voit käyttää paikallista muuttujaa toisessa funktiossa funktion sisällä:

def myfunc():
  x = 100
  def myinnerfunc():
    print(x)
  myinnerfunc()
myfunc()

Suorita esimerkki

Globaalialue

Python-ohjelmointikoodin pääosassa luodut muuttujat ovat globaalimuuttujia, jotka kuuluvat globaalille alueelle.

Globaalimuuttujat ovat saatavilla kaikissa alueissa (sekä globaaleissa että paikallisissa).

Esimerkki

Ulkoisesti luodut muuttujat ovat globaalimuuttujia, ja niitä voi käyttää kenellä tahansa:

x = 100
def myfunc():
  print(x)
myfunc()
print(x)

Suorita esimerkki

Nimeä muuttujat

Jos käytät samannimistä muuttujaa sekä funktiossa että ulkopuolella, Python käsittelee ne kahdena erillisenä muuttujana, toinen on saatavilla globaalissa alueessa (ulkopuolella funktiota) ja toinen paikallisessa alueessa (funktion sisällä):

Esimerkki

Tämä funktio tulostaa paikallisen muuttujan x, ja koodi tulostaa myös globaalimuuttujan x:

x = 100
def myfunc():
  x = 200
  print(x)
myfunc()
print(x)

Suorita esimerkki

Global-avainsana

Jos tarvitset globaalin muuttujan luomista, mutta olet jumissa paikallisessa alueessa, voit käyttää global-avainsanaa.

Global-avainsana tekee muuttujasta globaalimuuttujan.

Esimerkki

Jos käytät global-avainsanaa, muuttuja kuuluu globaaliin alueeseen:

def myfunc():
  global x
  x = 100
myfunc()
print(x)

Suorita esimerkki

Lisäksi, jos haluat muuttaa globaalia muuttujaa funktiossa, käytä myös global-avainsanaa.

Esimerkki

Jos haluat muuttaa globaalin muuttujan arvoa funktiossa, käytä global-avainsanaa viittaamaan muuttujaan:

x = 100
def myfunc():
  global x
  x = 200
myfunc()
print(x)

Suorita esimerkki