Változók átadása referenciával Pythonban
A Pythonban a komplex objektumokat tartalmazó változók referenciával adódnak át. Ez azt jelenti, hogy minden változtatás, amelyet egy változóban végzünk, megjelenik a másodikon. És bogy ilyen típusú értékadásnál megnő a hiba előfordulásának kockázata, ugyanakkor jelentősen megtakaríthatók az operációs rendszer rendszermemóriájának erőforrásai.
Tegyük fel, hogy van két listánk:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Mivel a lst2 változónak a lst1
értékét adtuk, mostantól a számítógép operatív
memóriájában egy lista tárolódik, amelyre két
változó hivatkozik egyszerre.
Változtassuk meg a lst2 első elemét
és írjuk ki az első listát a konzolra:
lst2[0] = '!'
print(lst1) # kiírja: ['!', 2, 3, 4, 5]
Mi lesz a következő kód végrehajtásának eredménye:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Mi lesz a következő kód végrehajtásának eredménye:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Mi lesz a következő kód végrehajtásának eredménye:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)