Sobes.tech
Junior — Middle

Jak se mění objekty měnitelných datových typů při jejich předání do funkce jako argumenty?

sobes.tech AI

Odpověď od AI

V Pythonu jsou objekty změnitelného typu (například seznamy, slovníky, množiny) předávány do funkce odkazem na objekt. To znamená, že pokud uvnitř funkce změníte obsah objektu (například přidáním prvku do seznamu), tyto změny budou viditelné i mimo funkci.

Příklad:

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

my_list = [1, 2, 3]
add_element(my_list)
print(my_list)  # Vypíše: [1, 2, 3, 10]

Nicméně, pokud uvnitř funkce přiřadíte parametru nový objekt, nebude to mít vliv na původní objekt:

def replace_list(lst):
    lst = [4, 5, 6]  # Vytvoří se nový objekt, lokální pro funkci

my_list = [1, 2, 3]
replace_list(my_list)
print(my_list)  # Vypíše: [1, 2, 3]

Tedy, při předávání změnitelných objektů do funkce je možné jejich obsah měnit, a tyto změny zůstanou mimo funkci.