Pisałem następujące klasy otoki. Chcę zdefiniować __setattr__
w taki sposób, aby przekierowywało wszystkie atrybuty do zawiniętej klasy. Zapobiega to jednak inicjalizacji klasy opakowania. Jakiś elegancki sposób na rozwiązanie tego problemu?czysty sposób, aby wyłączyć `__setattr__` aż po inicjalizacji
class Wrapper:
def __init__(self, value):
# How to use the default '__setattr__' inside '__init__'?
self.value = value
def __setattr__(self, name, value):
setattr(self.value, name, value)
Co 'Wrapper' owinąć? Dlaczego nie dziedziczy "obiektu"? –
@Tichodroma Zawija wszystko. Używam go w aplikacji GUI; owijka powiadamia słuchaczy, gdy zamknięty obiekt jest modyfikowany. Nie dziedziczy po 'obiekcie', ponieważ chcę używać tylko Python 3. –