Pytania otagowane jako metaclass


22
Tworzenie singletona w Pythonie
To pytanie nie dotyczy dyskusji, czy pożądany jest wzór singletonu , jest anty-wzorem, czy jakiejkolwiek wojny religijnej, ale do omówienia, w jaki sposób ten wzór najlepiej wdrożyć w Pythonie w najbardziej pythonowy sposób. W tym przypadku definiuję słowo „najbardziej python”, co oznacza, że ​​jest ono zgodne z „zasadą najmniejszego zdziwienia” …


6
Jak działa klasa Metjan Django?
Używam Django, który pozwala ludziom dodawać dodatkowe parametry do klasy za pomocą class Meta. class FooModel(models.Model): ... class Meta: ... Jedyne, co znalazłem w dokumentacji Pythona, to: class FooMetaClass(type): ... class FooClass: __metaclass__ = FooMetaClass Jednak nie sądzę, że to jest to samo.
191 python  django  metaclass 

19
Jakie są (konkretne) przypadki użycia metaklas?
Mam znajomego, który lubi używać metaklas i regularnie oferuje je jako rozwiązanie. Jestem zdania, że ​​prawie nigdy nie musisz używać metaklas. Czemu? ponieważ myślę, że jeśli robisz coś takiego z klasą, prawdopodobnie powinieneś robić to z obiektem. Konieczne jest małe przeprojektowanie / refaktoryzacja. Możliwość korzystania z metaklas spowodowała, że ​​wiele …
118 python  metaclass 

4
Jakie są różnice między metodą klasową a metaklasą?
W Pythonie mogę utworzyć metodę klasy za pomocą @classmethoddekoratora: >>> class C: ... @classmethod ... def f(cls): ... print(f'f called with cls={cls}') ... >>> C.f() f called with cls=<class '__main__.C'> Alternatywnie, mogę użyć normalnej (instancji) metody na metaklasę: >>> class M(type): ... def f(cls): ... print(f'f called with cls={cls}') ... …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.