Sobes.tech
Junior — Middle

Come cambiano gli oggetti di tipi di dati modificabili quando vengono passati come argomenti a una funzione?

sobes.tech AI

Risposta dell'AI

In Python, gli oggetti di tipi mutabile (ad esempio, liste, dizionari, set) vengono passati alle funzioni per riferimento all’oggetto. Ciò significa che se all’interno della funzione si modifica il contenuto dell’oggetto (ad esempio, aggiungendo un elemento alla lista), queste modifiche saranno visibili anche all’esterno della funzione.

Esempio:

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

my_list = [1, 2, 3]
add_element(my_list)
print(my_list)  # Mostrerà: [1, 2, 3, 10]

Tuttavia, se all’interno della funzione si assegna un nuovo oggetto al parametro, questo non influenzerà l’oggetto esterno:

def replace_list(lst):
    lst = [4, 5, 6]  # Viene creato un nuovo oggetto, locale alla funzione

my_list = [1, 2, 3]
replace_list(my_list)
print(my_list)  # Mostrerà: [1, 2, 3]

Pertanto, passando oggetti mutabili a una funzione, è possibile modificarne il contenuto, e queste modifiche persisteranno al di fuori della funzione.