Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: mutable, immutable, object, reference

Как работают неизменяемые и изменяемые объекты?

Вопрос проверяет понимание базовых характеристик объектов Python, которые напрямую влияют на поведение при передаче, копировании и изменении значений.

Короткий ответ

В Python объекты делятся на изменяемые (например, списки, словари) и неизменяемые (например, строки, кортежи, числа). Изменяемые можно менять "на месте", неизменяемые — нет. Это важно при передаче объектов в функции, потому что изменяемые могут быть модифицированы внутри функции, а неизменяемые — нет.

Длинный ответ

1. Неизменяемые объекты (Immutable):

  • Примеры: int, float, str, tuple, frozenset

  • При изменении создается новый объект.

  • Безопасны при использовании в многопоточности.

a = "hello"
print(id(a))         # id1
a += " world"
print(id(a))         # другой id — это уже другой объект

2. Изменяемые объекты (Mutable):

  • Примеры: list, dict, set, пользовательские классы

  • Можно изменять содержимое без создания нового объекта.

lst = [1, 2, 3]
print(id(lst))        # id1
lst.append(4)
print(id(lst))        # тот же id — объект изменился на месте

3. Влияние на функцииz:

При передаче в функцию:

  • Изменяемые могут быть модифицированы внутри.

  • Неизменяемые — нет.

def change(x):
    	x.append(4)

a = [1, 2]
change(a)
print(a)  # [1, 2, 4]

Вывод:
Понимание изменяемости объектов помогает избегать неожиданных побочных эффектов при работе с функциями и структурами данных.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#mutable

#immutable

#object

#reference

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.