Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: immutable, function, variable

Что произойдет, если изменить неизменяемую переменную внутри функции?

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

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

При попытке изменить неизменяемую переменную (например, число или строку) внутри функции создаётся новый объект. Исходная переменная вне функции останется без изменений.

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

Неизменяемые типы (int, str, tuple) нельзя модифицировать. Любая операция изменения создаёт новый объект в памяти.

Пример с числами:

def increment(x):
    x += 1  # Создаётся новый объект
    print("Inside:", x)  # 6

num = 5
increment(num)
print("Outside:", num)  # 5 (не изменился)

Пример со строками:

def add_prefix(s):
    s = "prefix_" + s  # Новая строка
    print("Inside:", s)  # "prefix_hello"

text = "hello"
add_prefix(text)
print("Outside:", text)  # "hello" (старая строка)

Почему так происходит:

  • Неизменяемые объекты защищены от случайных изменений.

  • Функция работает с копией ссылки, но при изменении создаётся новый объект.

Вывод:
Изменение неизменяемых переменных внутри функции не затрагивает внешние переменные.


  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Python

    Python

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

#immutable

#function

#variable

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

  • Аватар

    Python Guru

    Sergey Filichkin

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