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:

pythonnum = 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:

pythonnum = 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:

pythonnum = 1

def func():
  num += 2 # tulostaa virheen

Virhe johtuu siitä, että lauseke num += 2 edustaa seuraavaa merkintää:

pythonnum = 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.

Задание 1

Mikä on seuraavan koodin suorituksen tulos:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

Mikä on seuraavan koodin suorituksen tulos:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

Mikä on seuraavan koodin suorituksen tulos:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)