Sobes.tech
Junior — Middle

Hoe veranderen de objecten van wijzigbare gegevenstypen wanneer ze als argumenten aan een functie worden doorgegeven?

sobes.tech AI

Antwoord van AI

In Python worden objecten van mutabele types (bijvoorbeeld lijsten, woordenboeken, verzamelingen) doorgegeven aan een functie via een referentie naar het object. Dit betekent dat als je binnen de functie de inhoud van het object wijzigt (bijvoorbeeld een element aan een lijst toevoegt), deze wijzigingen ook buiten de functie zichtbaar zijn.

Voorbeeld:

def add_element(lst):
    lst.append(10)

my_list = [1, 2, 3]
add_element(my_list)
print(my_list)  # Zal tonen: [1, 2, 3, 10]

Echter, als je binnen de functie een nieuw object aan de parameter toewijst, heeft dat geen invloed op het externe object:

def replace_list(lst):
    lst = [4, 5, 6]  # Een nieuw object wordt gemaakt, lokaal voor de functie

my_list = [1, 2, 3]
replace_list(my_list)
print(my_list)  # Zal tonen: [1, 2, 3]

Dus, door mutabele objecten door te geven aan een functie, kun je hun inhoud wijzigen, en deze wijzigingen blijven buiten de functie bestaan.