Sobes.tech
Middle

a = 4 b = [4] rezultat = (a, b) a = 5 b.append(5) Vprašanje: kakšna je vrednost rezultata po izvajanju vseh vrstic in zakaj?

sobes.tech AI

Odpoveď od AI

Po vykonaní všetkých riadkov bude premenná result rovná (4, [4, 5]).

Vysvetlenie:

  • V riadku result = (a, b) sa vytvorí n-tica, kde a je číslo 4 a b je odkaz na zoznam [4].
  • Následne sa a zmení na 5, ale to neovplyvní už vytvorenú n-ticu, pretože čísla sú nemenné objekty a v n-tici je uložená hodnota 4.
  • Volanie b.append(5) zmení zoznam b na mieste, pridávaním prvku 5.
  • Pretože n-tica obsahuje odkaz na zoznam b, zmeny v zozname sa prejavia aj vo vnútri n-tice.

Výsledok:

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