Odovzdávanie premenných odkazom v Pythone

V Pythone sa premenné obsahujúce zložité objekty odovzdávajú odkazom. To znamená, všetky zmeny vykonané v jednej premennej sa prejavia na druhej. A hoci pri tomto type priradenia hodnôt sa zvyšuje riziko vzniku chyby, na druhej strane sa výrazne šetria zdroje systémovej pamäte OS.

Majme dva zoznamy:

pythonlst1 = [1, 2, 3, 4, 5]
lst2 = lst1

Keďže premennej lst2 bola priradená hodnota lst1, teraz je v operačnej pamäti počítača uložený jeden zoznam, na ktorý sa súčasne odkazujú dve premenné.

Zmeňme prvý prvok lst2 a vypíšme prvý zoznam do konzoly:

pythonlst2[0] = '!'
print(lst1) # vypíše ['!', 2, 3, 4, 5]
Задание 1

Aký bude výsledok vykonania nasledujúceho kódu:

pythonlst1 = [1, 2, 3, 4, 5]

lst2 = lst1
lst2[0] = '!'

print(lst1)
Задание 2

Aký bude výsledok vykonania nasledujúceho kódu:

pythonlst1 = [1, 2, 3, 4, 5]

lst2 = lst1
lst2[0] = '!'

print(lst2)
Задание 3

Aký bude výsledok vykonania nasledujúceho kódu:

pythonlst1 = ['a', 'b', 'c', 'd']

lst2 = lst1
lst3 = 'e'
lst2[2] = lst3

print(lst2)