Questa domanda non è per la discussione se il modello di progettazione singleton sia desiderabile o meno, sia un anti-modello o per qualsiasi guerra religiosa, ma per discutere di come questo modello sia meglio implementato in Python in un modo che sia il più pitonico. In questo caso, definisco "la …
Sto usando Django che consente alle persone di aggiungere parametri extra a una classe usando class Meta. class FooModel(models.Model): ... class Meta: ... L'unica cosa che ho trovato nella documentazione di Python era: class FooMetaClass(type): ... class FooClass: __metaclass__ = FooMetaClass Tuttavia, non penso che sia la stessa cosa.
Ho un amico a cui piace usare le metaclassi e le offre regolarmente come soluzione. Sono dell'idea che non hai quasi mai bisogno di usare le metaclassi. Perché? perché immagino che se stai facendo qualcosa del genere a una classe, probabilmente dovresti farlo a un oggetto. Ed è necessaria una …
In Python, posso creare un metodo di classe usando il @classmethoddecoratore: >>> class C: ... @classmethod ... def f(cls): ... print(f'f called with cls={cls}') ... >>> C.f() f called with cls=<class '__main__.C'> In alternativa, posso usare un metodo normale (istanza) su una metaclasse: >>> class M(type): ... def f(cls): ... …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.