W obiekcie klasy, jak automatycznie aktualizować atrybuty?

Mam klasę, która ma wiele atrybutów, które są powiązane, na przykład:

class SomeClass:
    def __init__(self, n=0):
        self.list = range(n)
        self.listsquare = [ x**2 for x in self.list ]

Jeśli zrobię obiekt normalnie, bez problemu

a = SomeClass(10)

Dostanę 2 listy,a.list ia.listsquare.

Jeśli chcę najpierw utworzyć pusty obiekt i przypisać mu jeden atrybut, chcę, aby inne atrybuty były automatycznie aktualizowane, na przykład jeśli to zrobię

b = SomeClass()
b.list = range(5,10)

chcęb.listsquare być automatycznie aktualizowane, a także odwrotnie (przypisaćb.listsquare i automatyczna aktualizacjab.list). czy to możliwe? JestKlasa właściwy wybór?

Dzięki wam wszystkim, ale jestem całkowicie przytłoczony wszystkimi różnymi odpowiedziami. Czy ktoś może dać kompletne rozwiązanie, abym mógł nauczyć się pisać samodzielnie?

Chciałbym osiągnąć klasęFoo z 3 atrybutamilength, list ilistsquare takie, że:

Jeśli zrobięa = Foo(3), Dostajęa.length = 3, a.list = [0, 1, 2], a.listsquare = [0, 1, 4].Jeśli zrobięb = Foo().list = [5, 6], Dostajęb.length = 2, b.listsquare = [25, 36].Jeśli zrobięc = Foo().listsquare = [4, 9], Dostajęc.length = 2, c.list = [2, 3].

questionAnswers(4)

yourAnswerToTheQuestion