W Pythonie, czym są metaklasy i do czego ich
W Pythonie, czym są metaklasy i do czego ich
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...
Co ma class << selfzrobić w Ruby
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ę,...
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 /...
Chciałbym na to trochę odpocząć: Map rowToMap(row) { def rowMap = [:]; row.columns.each{ rowMap[it.name] = it.val } return rowMap; } biorąc pod uwagę stan rzeczy z GDK, spodziewałbym się, że będę w stanie zrobić coś takiego: Map rowToMap(row) { row.columns.collectMap{ [it.name,it.val]...
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...