Costruttore Python generato automaticamente
-
30-10-2019 - |
Domanda
Ho innumerevoli lezioni di Python di vari progetti di Sqlalchemy (e anche una coppia di Pygame), e di recente ho notato uno schema in molti di essi: i loro costruttori sono sempre andati qualcosa del genere:
class Foo(Base):
def __init__(self, first, last, email, mi=""):
self.first = first
self.last = last
self.email = email
self.mi = mi
... per cui l'unica cosa che il costruttore ha fatto era trasferire un insieme di argomenti posizionali in un set di dati esattamente denominato identico, eseguendo alcun calcolo o altre chiamate di funzione.
Mi sembra che questa ripetizione non sia necessaria e inclini all'errore umano al cambiamento.
Questo mi porta alla domanda qui: è possibile generare automaticamente un tale __init__(self, ...)
Funzione, preferibilmente senza muoverti con bytecode CPython o usando modelli/macro per modificare il file di origine stesso?
Nessuna soluzione corretta