Dire che ho un dizionario che contiene classi complesse che devono essere caricate e scaricate in un modo speciale. (Non particolarmente speciale, appena al di fuori dei limiti di questa domanda.) Devo creare una sottoclasse della dict incorporata in questo modo:
class ExampleClass(dict):
def __str__(self):
return 'ExampleClass; '+dict.__str__(self)
@classmethod
def loads(cls, string):
<load object from string here>
def dumps(self):
<dump object here>
O fai qualcosa di simile a questo:
def load_special_structure(string):
<load object from code here>
def dump_special_structure(obj):
<dump object here>
Questa è tutta la funzionalità extra di cui ho bisogno. Non è troppo sdolcinato usare un metodo speciale importato per scaricarlo e caricarlo, ma nemmeno la sottoclasse di un dizionario. Dal punto di vista dell'utilizzo, è davvero utile poter importare quella classe, caricarla da una stringa e usarla come un dizionario.