Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Что происходит в Python при выполнении операции присваивания?

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

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

В Python присваивание не копирует объект, а создаёт новую ссылку на уже существующий объект. Переменная становится именем, указывающим на объект в памяти. Если объект изменяемый, изменения будут видны через все ссылки. Для неизменяемых объектов создаётся новый объект при изменении значения. Это поведение важно для понимания побочных эффектов.

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

В Python переменные не хранят данные напрямую — они ссылаются на объекты.

Определение

Присваивание — это операция связывания имени с объектом, а не копирование значения.

Что происходит пошагово

Перед примерами важно зафиксировать модель:

  1. Создание объекта

    • если объект ещё не существует

    • выделяется память

  2. Привязка имени

    • имя переменной указывает на объект

    • увеличивается счётчик ссылок

  3. Отсутствие копирования

    • данные не дублируются

    • несколько имён могут ссылаться на один объект

Пример с изменяемым объектом

a = [1, 2]
b = a
b.append(3)

a и b указывают на один список, изменения видны через обе переменные.

Пример с неизменяемым объектом

x = 10
y = x
y += 1

Создаётся новый объект 11, x остаётся ссылаться на 10.

Вывод

Понимание присваивания в Python критично для работы с изменяемыми объектами и предотвращения неявных ошибок.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • Python

    Python

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

#assignment

#reference

#mutable

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

  • Аватар

    Python Guru

    Sergey Filichkin

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