Как передаются объекты в функцию в Python
Python
Middle
Баланс-Платформа
Как передаются объекты в функцию в Python
Ответы
В Python аргументы в функцию передаются по **ссылке на объект** (pass by object reference). Это означает, что функция получает ссылку на тот же объект, что и переданный аргумент.
- **Изменяемые объекты** (списки, словари, множества):
Если внутри функции изменяется такой объект, изменения сохранятся и вне функции.
- **Неизменяемые объекты** (числа, строки, кортежи):
При попытке изменить их внутри функции создаётся новый объект, а исходный остаётся неизменным.
Пример:
```
def modify_list(lst):
lst.append(4) # изменяет переданный список
def modify_num(num):
num += 10 # создаёт новый объект
my_list = [1, 2, 3]
modify_list(my_list)
print(my_list) # [1, 2, 3, 4]
x = 5
modify_num(x)
print(x) # 5 (не изменился)
```