Overførsel af objekter som parametre i Python
Variabler, der indeholder objekter (lister, mængder, tupler, ordbøger) overføres til funktioner pr. reference. Lad os omskrive koden i funktionen, så det første element i den overførte variabel ændres til et udråbstegn. Og under funktionen erklærer vi en variabel, hvis værdi er en liste:
def func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Da lister overføres pr. reference, vil
værdien af lst også ændre sig
i det globale scope ved funktionskaldet:
func(lst) # vil udskrive ['!', 2, 3, 4, 5]
print(lst) # vil udskrive ['!', 2, 3, 4, 5]
Hvad bliver resultatet af følgende kode:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Hvad bliver resultatet af følgende kode:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Hvad bliver resultatet af følgende kode:
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Hvad bliver resultatet af følgende kode:
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)