Junior — Middle
Cum se schimbă obiectele de tipuri de date modificabile atunci când sunt transmise ca argumente către o funcție?
sobes.tech AI
Răspuns de la AI
În Python, obiectele de tipuri mutabile (de exemplu, liste, dicționare, mulțimi) sunt transmise către funcție prin referință la obiect. Aceasta înseamnă că dacă modificați conținutul obiectului în interiorul funcției (de exemplu, adăugați un element la listă), aceste modificări vor fi vizibile și în afara funcției.
Exemplu:
def add_element(lst):
lst.append(10)
my_list = [1, 2, 3]
add_element(my_list)
print(my_list) # Va afișa: [1, 2, 3, 10]
Totuși, dacă în interiorul funcției se atribuie un nou obiect parametrului, acest lucru nu va afecta obiectul extern:
def replace_list(lst):
lst = [4, 5, 6] # Se creează un nou obiect, local pentru funcție
my_list = [1, 2, 3]
replace_list(my_list)
print(my_list) # Va afișa: [1, 2, 3]
Prin urmare, atunci când transmiteți obiecte mutabile în funcție, puteți modifica conținutul acestora, iar aceste modificări vor persista în afara funcției.