Sobes.tech
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.