Задать вопрос
@leham1

Почему меняется переменная?

Почему "8" добавилась в self.y? Я ведь создал новую переменную y2 и добавил в нее "8".
a = ['1', '2', '3']
class Test:
    def __init__(self, y):
        self.y = y

    def r(self):
        y2 = self.y
        y2.append('8')
        return y2

    def t(self):
        return self.y

print(Test(a).r())
print(Test(a).t())

выводит:
['1', '2', '3', '8']
['1', '2', '3', '8']
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Ты создал y2 и поместил в него ссылку на y. Чтобы скопировать содержимое списка, а не ссылку на него, нужно использовать copy https://pythonworld.ru/moduli/modul-copy.html

P.S. Изучи основы Python!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы