Junior — Middle
Hogyan változnak a módosítható adattípusok objektumai, amikor argumentumként adják át őket egy függvénynek?
sobes.tech MI
Válasz az MI-től
Pythonban a módosítható típusú objektumokat (például listák, szótárak, halmazok) referencia szerint adjuk át a függvénynek. Ez azt jelenti, hogy ha a függvényen belül módosítjuk az objektum tartalmát (például hozzáadunk egy elemet a listához), akkor ezek a változások a függvényen kívül is láthatóak lesznek.
Példa:
def add_element(lst):
lst.append(10)
my_list = [1, 2, 3]
add_element(my_list)
print(my_list) # Kiírja: [1, 2, 3, 10]
Azonban, ha a függvényen belül egy új objektumot rendelünk a paraméterhez, az nem befolyásolja a külső objektumot:
def replace_list(lst):
lst = [4, 5, 6] # Új objektum jön létre, helyi a függvényben
my_list = [1, 2, 3]
replace_list(my_list)
print(my_list) # Kiírja: [1, 2, 3]
Ezért, ha módosítható objektumokat adunk át függvénynek, azok tartalmát módosíthatjuk, és ezek a változások a függvényen kívül is megmaradnak.