Interaktion mellan scopear i Python

Det händer att en extern (global) och en intern (lokal) variabel har samma namn:

pythonnum = 1

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

Samtidigt är det viktigt att förstå att den lokala num, även om den har samma namn som den globala, för Python är en annan variabel. Det betyder att den globala num INTE skrivs över inuti funktionen, utan behåller sitt ursprungliga värde. När funktionen func anropas kommer värdet på endast den lokala num att skrivas ut i konsolen, och via print - värdet på den globala variabeln:

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

Vad blir resultatet av följande kod:

pythonnum = 10

def func():
  num = 5
  return num

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

Vad blir resultatet av följande kod:

pythonnum = 3

def func():
  num = 4
  return num

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

Vad blir resultatet av följande kod:

pythonnum = 1

def func():
  num = 2
  return 1

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

Vad blir resultatet av följande kod:

pythonnum1 = 1

def func():
  num2 = 2

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

Vad blir resultatet av följande kod:

pythonnum1 = 1

def func():
  num2 = 2

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

Vad blir resultatet av följande kod:

pythonnum1 = 1

def func():
  num2 = 2

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

Vad blir resultatet av följande kod:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

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

Vad blir resultatet av följande kod:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)