Näköalueiden käytön vivahteet Pythonissa
Tarkastellaan tärkeitä vivahteita paikallisten ja globaalien muuttujien käytössä.
Oletetaan, että meillä on globaali muuttuja num.
Luodaan funktio func,
joka tulostaa globaalin num:n
konsoliin:
num = 1
def func():
print(num)
func() # tulostaa 1
Nyt esitellään paikallinen num
rivillä funktion print alapuolella. Kun
koodi suoritetaan, konsoliin tulostuu virhe.
Tämä johtuu siitä, että Python
funktion sisällä pitää num:aa
vain paikallisena muuttujana, jota
ei ole vielä esitelty:
num = 1
def func():
print(num) # tulostaa virheen
num = 2
Kirjoitetaan nyt funktion sisällä oleva koodi
uudelleen siten, että muuttujan num arvo
kasvaa 2:lla:
num = 1
def func():
num += 2 # tulostaa virheen
Virhe johtuu siitä, että lauseke num += 2
edustaa seuraavaa merkintää:
num = num + 2
Kuitenkaan itse paikallista muuttujaa, johon lisätään, ei ole vielä esitelty. Ja vastaavasti Python tulostaa virheen, sillä ei voi lisätä numeroa olemaassa olevaan arvoon.
Mikä on seuraavan koodin suorituksen tulos:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Mikä on seuraavan koodin suorituksen tulos:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Mikä on seuraavan koodin suorituksen tulos:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)