Sobes.tech
Middle

a = 4 b = [4] výsledek = (a, b) a = 5 b.append(5) Otázás: mi az eredmény értéke az összes sor végrehajtása után és miért?

sobes.tech AI

Odpověď od AI

Po provedení všech řádků bude proměnná result rovna (4, [4, 5]).

Vysvětlení:

  • V řádku result = (a, b) je vytvořen n-tice, kde a je číslo 4 a b je odkaz na seznam [4].
  • Poté se a změní na 5, ale to neovlivní již vytvořenou n-tici, protože čísla jsou neměnitelné objekty a v n-tici je uložena hodnota 4.
  • Volání b.append(5) změní seznam b na místě přidáním prvku 5.
  • Protože n-tice obsahuje odkaz na seznam b, změny v seznamu se odrážejí i uvnitř n-tice.

Výsledek:

result == (4, [4, 5])  # True