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