Sobes.tech
Junior — Middle

Ako sa vykonáva prenos premenných v programovacom jazyku Python?

sobes.tech AI

Odpoveď od AI

V Pythone sa prenášanie premenných do funkcií vykonáva odkazom na objekt (call by object reference). To znamená, že pri volaní funkcie sa odovzdáva odkaz na objekt, nie kópia hodnoty.

Ak je objekt zmeniteľný (napríklad zoznam, slovník), zmeny vo vnútri funkcie budú viditeľné aj zvonku. Ak je objekt nezmeniteľný (napríklad čísla, reťazce, n-tice), pokus o jeho zmenu vo vnútri funkcie povedie k vytvoreniu nového objektu a vonkajší objekt zostane nezmenený.

Príklad:

def modify_list(lst):
    lst.append(4)  # mení objekt

def modify_int(x):
    x += 1  # vytvára sa nový objekt

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # [1, 2, 3, 4]

my_int = 10
modify_int(my_int)
print(my_int)  # 10