Как изолировать данные класса для отдельных экземпляров
Чтобы избежать совместного использования данных класса между несколькими экземплярами и гарантировать, что каждый экземпляр хранит свои собственные данные, выполните следующие действия:
Объявите переменные в конструкторе (__init__ Метод)
Вместо объявления переменных уровня класса вне какого-либо метода, определите их в методе конструктора init. Например:
class a: def __init__(self): self.list = [] # Declared within __init__ to create instance-specific lists
При инициализации списка в __init__ новый экземпляр списка создается вместе с каждым новым экземпляром объекта.
Пример кода:
class a: def __init__(self): self.list = [] x = a() y = a() x.list.append(1) y.list.append(2) x.list.append(3) y.list.append(4) print(x.list) # prints [1, 3] print(y.list) # prints [2, 4]
В этом примере список больше не используется совместно двумя экземплярами (x и y), и каждый экземпляр сохраняет свои собственные отдельные данные по желанию .
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3