Interaktion mellan scopear i Python
Det händer att en extern (global) och en intern (lokal) variabel har samma namn:
num = 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:
func() # skriver ut 2
print(num) # skriver ut 1
Vad blir resultatet av följande kod:
num = 10
def func():
num = 5
return num
func()
print(num)
Vad blir resultatet av följande kod:
num = 3
def func():
num = 4
return num
num = func()
print(num)
Vad blir resultatet av följande kod:
num = 1
def func():
num = 2
return 1
num = func()
print(num)
Vad blir resultatet av följande kod:
num1 = 1
def func():
num2 = 2
func()
print(num1)
Vad blir resultatet av följande kod:
num1 = 1
def func():
num2 = 2
func()
print(num2)
Vad blir resultatet av följande kod:
num1 = 1
def func():
num2 = 2
func()
num2 = 3
print(num2)
Vad blir resultatet av följande kod:
num1 = 1
num2 = 2
def func():
num2 = 3
func()
print(num2)
Vad blir resultatet av följande kod:
num1 = 1
def func():
num1 = 2
print(num1)