C'è qualche magia che posso usare in Python per usare efficacemente il super costruttore semplicemente aggiungendo alcuni argomenti extra?Come passare tutti gli argomenti da __init__ a super classe
Idealmente mi piacerebbe usare qualcosa come:
class ZipArchive(zipfile.ZipFile):
def __init__(self, verbose=True, **kwargs):
"""
Constructor with some extra params.
For other params see: zipfile.ZipFile
"""
self.verbose = verbose
super(ZipArchive, self).__init__(**kwargs)
e quindi essere in grado di utilizzare i parametri del costruttore originali mescolati con alcune cose in più della mia classe. In questo modo:
zip = ZipArchive('test.zip', 'w')
zip = ZipArchive('test.zip', 'w', verbose=False)
sto usando Python 2.6, ma se la magia può essere raggiunto solo in una maggiore versione di Python, allora io sono troppo interessato.
EDIT: Probabilmente dovrei dire che sopra non funziona. L'errore è: TypeError: __init__() takes at most 2 arguments (3 given)
Ho appena aggiunto informazioni. per chiarirlo :-) – Nux