Ho scritto la seguente classe wrapper. Voglio definire __setattr__
in modo tale da reindirizzare tutti gli attributi alla classe spostata. Tuttavia, questo mi impedisce di inizializzare la classe wrapper. Qualche modo elegante per risolvere questo problema?Modo pulito per disabilitare `__setattr__` fino a dopo l'inizializzazione
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)
Cosa 'avvolgere Wrapper'? Perché non eredita 'object'? –
@Tichodroma Si avvolge tutto. Lo sto usando in un'applicazione GUI; il wrapper avvisa i listener quando viene modificato l'oggetto incluso. Non eredita da 'object' perché voglio solo usare Python 3. –