Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: by reference, by value

Как в функцию передаются аргументы, по ссылке или по значению?

Этот вопрос проверяет знание того, как в Python передаются аргументы в функцию: по ссылке или по значению, а также как это влияет на поведение программы.

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

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

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

В Python аргументы всегда передаются по ссылке. Однако это не означает, что все объекты передаются одинаково. Поведение при передаче зависит от того, изменяем ли объект:

  • Изменяемые объекты (например, списки, словари, множества) передаются по ссылке, и любые изменения внутри функции будут отражены на оригинальном объекте. Пример:

def modify_list(lst):
    	lst.append(4)

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # [1, 2, 3, 4]
  • Неизменяемые объекты (например, числа, строки, кортежи) передаются как копия значений. Это означает, что изменение переменной внутри функции не влияет на исходный объект. Пример:

def modify_number(x):
    	x += 1

num = 5
modify_number(num)
print(num)  # 5, значение не изменилось

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

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • Python

    Python

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

#by reference

#by value

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

  • Аватар

    Python Guru

    Sergey Filichkin

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