Överföring av variabler via referens i Python
I Python överförs variabler som innehåller komplexa objekt via referens. Det betyder att alla ändringar som görs i en variabel kommer att reflekteras i den andra. Och även om denna typ av tilldelning av värden ökar risken för fel, så sparar det avsevärt på operativsystemets systemminnesresurser.
Låt oss säga att vi har två listor:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Eftersom variabeln lst2 tilldelades
värdet lst1, finns det nu en lista
i datorns arbetsminne
som två variabler refererar till samtidigt.
Låt oss ändra det första elementet i lst2
och skriva ut den första listan till konsolen:
lst2[0] = '!'
print(lst1) # skriver ut ['!', 2, 3, 4, 5]
Vad blir resultatet av följande kod:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Vad blir resultatet av följande kod:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Vad blir resultatet av följande kod:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)