Nuances van het werken met bereiken in Python
Laten we belangrijke nuances bekijken van het werken met lokale en globale variabelen.
Stel we hebben een globale variabele num.
Laten we een functie func maken,
die de globale num
naar de console zal uitvoeren:
num = 1
def func():
print(num)
func() # geeft 1 weer
Laten we nu een lokale num declareren
een regel onder de functie print. Na
het uitvoeren van de code verschijnt er een foutmelding in de console.
Dit gebeurt omdat Python
binnen de functie num
alleen als een lokale variabele beschouwt, die
nog niet was gedeclareerd:
num = 1
def func():
print(num) # geeft een foutmelding weer
num = 2
Laten we nu de code binnen de functie herschrijven
zodat de waarde van variabele num
met 2 wordt verhoogd:
num = 1
def func():
num += 2 # geeft een foutmelding weer
De fout wordt veroorzaakt doordat de uitdrukking num += 2
de volgende notatie vertegenwoordigt:
num = num + 2
Echter, de lokale variabele zelf, waaraan wordt opgeteld, is nog niet gedeclareerd. En dienovereenkomstig geeft Python een foutmelding, aangezien een getal niet kan worden opgeteld bij een niet-bestaande waarde.
Wat wordt het resultaat van de volgende code:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Wat wordt het resultaat van de volgende code:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Wat wordt het resultaat van de volgende code:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)