Overførsel af variabler ved reference i Python
I Python overføres variabler, der indeholder komplekse objekter, ved reference. Det betyder, alle ændringer foretaget i en variabel vil afspejle sig på den anden. Og selvom denne type tildeling af værdier øger risikoen for fejl, sparer det samtidig betydeligt på operativsystemets systemhukommelsesressourcer.
Lad os sige, at vi har to lister:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Da variablen lst2 blev tildelt
værdien lst1, er der nu kun én liste
gemt i computerens hukommelse,
som to variabler refererer til samtidigt.
Lad os ændre det første element i lst2
og udskrive den første liste i konsollen:
lst2[0] = '!'
print(lst1) # vil udskrive ['!', 2, 3, 4, 5]
Hvad bliver resultatet af følgende kode:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Hvad bliver resultatet af følgende kode:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Hvad bliver resultatet af følgende kode:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)