Předávání proměnných odkazem v Pythonu

V Pythonu se proměnné obsahující složité objekty předávají odkazem. To znamená, že všechny změny provedené v jedné proměnné se projeví i na druhé. Ačkoli při tomto typu přiřazování hodnot roste riziko vzniku chyby, na druhou stranu se významně šetří prostředky systémové paměti OS.

Mějme dva seznamy:

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

Protože proměnné lst2 bylo přiřazena hodnota lst1, nyní je v operační paměti počítače uložen jeden seznam, na který odkazují současně dvě proměnné.

Změníme první prvek lst2 a vypíšeme první seznam do konzole:

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

Jaký bude výsledek provedení následujícího kódu:

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

lst2 = lst1
lst2[0] = '!'

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

Jaký bude výsledek provedení následujícího kódu:

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

lst2 = lst1
lst2[0] = '!'

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

Jaký bude výsledek provedení následujícího kódu:

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

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

print(lst2)