Variabelen doorgeven door referentie in Python
In Python worden variabelen die complexe objecten bevatten doorgegeven door referentie. Dit betekent dat alle wijzigingen die in de ene variabele worden aangebracht zichtbaar worden in de tweede. En hoewel bij dit type waardetoewijzing het risico op fouten toeneemt, worden de bronnen van het systeemgeheugen van het besturingssysteem aanzienlijk bespaard.
Stel we hebben twee lijsten:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Aangezien aan variabele lst2 de
waarde lst1 is toegewezen,
wordt er nu één lijst in het werkgeheugen
van de computer opgeslagen,
waar tegelijkertijd door twee
variabelen naar wordt verwezen.
Laten we het eerste element van lst2 wijzigen
en de eerste lijst naar de console uitvoeren:
lst2[0] = '!'
print(lst1) # geeft ['!', 2, 3, 4, 5] weer
Wat wordt het resultaat van de volgende code:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Wat wordt het resultaat van de volgende code:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Wat wordt het resultaat van de volgende code:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)