Как передаются переменные в Python
Python
Middle
Без компании
Как передаются переменные в Python
Ответы
В Python переменные передаются по **ссылке на объект** (pass-by-object-reference). Это означает, что при передаче переменной в функцию передаётся не копия объекта, а ссылка на него.
- **Неизменяемые объекты** (int, str, tuple, frozenset):
При изменении внутри функции создаётся новый объект, а исходный остаётся неизменным.
- **Изменяемые объекты** (list, dict, set):
Изменения внутри функции отражаются на оригинальном объекте.
**Пример:**
```
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]
my_num = 5
modify_num(my_num)
print(my_num) # 5 (не изменился)
```