Näkyvyysalueiden vuorovaikutus Pythonissa

Joskus ulkoisella (globaalilla) ja sisäisellä (lokaalilla) muuttujalla on sama nimi:

pythonnum = 1

def func():
  num = 2
  print(num)

On kuitenkin tärkeää ymmärtää, että paikallinen num vaikka sillä on sama nimi kuin globaalilla, on Pythonille eri muuttuja. Tämä tarkoittaa, että globaalia num EI kirjoiteta yli funktion sisällä, vaan se säilyttää alkuperäisen arvonsa. Kun funktiota func kutsutaan, konsoliin tulostuu vain paikallisen num arvo, ja print -funktiolla - globaalin muuttujan arvo:

pythonfunc() # tulostaa 2
print(num) # tulostaa 1
Задание 1

Mikä on seuraavan koodin suorituksen tulos:

pythonnum = 10

def func():
  num = 5
  return num

func()
print(num)
Задание 2

Mikä on seuraavan koodin suorituksen tulos:

pythonnum = 3

def func():
  num = 4
  return num

num = func()
print(num)
Задание 3

Mikä on seuraavan koodin suorituksen tulos:

pythonnum = 1

def func():
  num = 2
  return 1

num = func()
print(num)
Задание 4

Mikä on seuraavan koodin suorituksen tulos:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num1)
Задание 5

Mikä on seuraavan koodin suorituksen tulos:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num2)
Задание 6

Mikä on seuraavan koodin suorituksen tulos:

pythonnum1 = 1

def func():
  num2 = 2

func()
num2 = 3
print(num2)
Задание 7

Mikä on seuraavan koodin suorituksen tulos:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

func()
print(num2)
Задание 8

Mikä on seuraavan koodin suorituksen tulos:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)