Tag: metaclass
In der objektorientierten Programmierung, eine Metaklasse ist eine Klasse, deren Instanzen Klassen sind. Ebenso wie eine normale Klasse definiert das Verhalten von bestimmten Objekten, eine Metaklasse definiert das Verhalten von bestimmten Klassen und deren Instanzen. Nicht alle objektorientierten Programmiersprachen unterstützen metaclasses.
2
Antworten
Ich ve wurde Herumspielen mit python-enum-Bibliothek und haben sich über ein Rätsel. In den docs, Sie zeigen ein Beispiel für eine die automatische Nummerierung von enum, wobei etwas definiert ist: class Color(AutoNumber): red = () green =
4
Antworten
Ich habe zwei Fragen converning Metaklassen und mehrfache Vererbung. Die erste ist: Warum bekomme ich eine TypeError für die Klasse Derived aber nicht für Derived2? class Metaclass(type): pass class Klass(object): __metaclass__ = Metaclass #class Derived(object, Klass): pass
3
Antworten
Ist es möglich, die Kette Metaklassen? Ich habe Klasse Model verwendet __metaclass__=ModelBase zu verarbeiten, dessen namespace-dict. Ich werde von Ihr Erben und "binden" eine andere Metaklasse, so dass es keine Schatten-das original. Erste Ansatz ist die Unterklasse
4
Antworten
Habe ich endlich aktualisiert, meine python-version, und ich war entdecken der neuen features Hinzugefügt. Unter anderem war ich meinen Kopf kratzen, um die neue __init_Unterklasse__ Methode. Aus den docs: Diese Methode wird immer aufgerufen, wenn sich die
3
Antworten
Ich versuche zu schreiben eine generische Metaklasse für die Verfolgung von Unterklassen Da ich möchte, dass dies generisch sein, ich wollte nicht zu fest jede Klasse, die den Namen innerhalb dieser Metaklasse, daher kam ich mit einer
7
Antworten
Schreibe ich eine Metaklasse, das liest sich Klasse Attribute und speichert Sie in einer Liste, aber ich möchte die Liste (cls.Spalten) zu respektieren, die in der Reihenfolge der Deklaration (das ist: mycol2, mycol3, zut, cool, menfin, a
5
Antworten
Ich muss eine Klasse erstellen, die verwendet eine andere Basis-Klasse abhängig von einer Bedingung. Mit einigen Klassen, bekomme ich die berühmt-berüchtigten: TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the
4
Antworten
Ich würde gerne eine Klasse erstellen, die hat abc.ABCMeta als Metaklasse und ist kompatibel sowohl mit Python 2.7 und Python 3.5. Ich bis jetzt nur gelungen, dies zu tun, entweder auf 2.7 oder 3.5, aber nie auf
4
Antworten
Was ist der Unterschied zwischen diesen beiden code-Beispiele? 1: class SubType(type): def __init__(cls, name, bases, dct): super().__init__(name, bases, dct) 2: class SubType(type): def __init__(cls, name, bases, dct): pass InformationsquelleAutor user2909276 | 2013-10-23
1
Antworten
Ich bin einfach zu spielen mit der Metaklasse Programmierung in Groovy. Aber plötzlich war ich vor einem kleinen problem, von dem ich einfach nicht arbeiten... Hier ist das einfache Skript: //define simple closure def printValueClosure = {
17
Antworten
Ich habe einen Freund, der gerne Metaklassen, und regelmäßig bietet Ihnen eine Lösung. Ich bin der Meinung, dass man fast nie verwenden müssen Metaklassen. Warum? weil ich denke, wenn Sie etwas wie, dass die Klasse, die sollten
1
Antworten
In Python2.7 dieser code kann sehr gut funktionieren, __getattr__ im MetaTable ausgeführt wird. Aber in Python 3.5 funktioniert es nicht. class MetaTable(type): def __getattr__(cls, key): temp = key.split("__") name = temp[0] alias = None if len(temp) >
5
Antworten
Um Metaklasse einer Klasse, verwenden wir die __metaclass__ Attribut. Metaklassen sind in der die Klasse definiert ist, so ordnet es ausdrücklich nach der definition der Klasse keine Auswirkung hat. Dies ist, was passiert, wenn ich versuche zu
6
Antworten
Ich möchte in der Lage sein erstellen Sie ein python-decorator, dass automatisch ein "Register" class Methoden in einem globalen repository (mit gewissen Eigenschaften). Beispiel-code: class my_class(object): @register(prop1,prop2) def my_method( arg1,arg2 ): # method code here... @register(prop3,prop4) def
2
Antworten
Sieht aus wie ich stolperte über eine Metaklasse, die Hölle, auch wenn ich es nicht wollte, nichts zu tun. Ich Schreibe eine app, in Qt4 mit PySide. Ich möchte separates Ereignis-gesteuerten Teil von UI-definition, die erzeugt wird,
2
Antworten
Ich habe gelesen, dass Beiträge wie diese: Was ist eine Metaklasse, die in Python? Was sind Ihre (konkrete) use-cases für Metaklassen in Python? Python ist Super, ist elegant, aber Sie können es nicht verwenden Aber irgendwie hab
2
Antworten
Warum ist diese: class MyType(type): def __init__(cls, name, bases, attrs): print 'created', cls class MyMixin: __metaclass__ = MyType class MyList(list, MyMixin): pass okay, und funktioniert wie erwartet: created <class '__main__.MyMixin'> created <class '__main__.MyList'> Aber: class MyType(type): def
4
Antworten
Ich versuchte Unterklasse threading.Zustand früh heute, aber es hat nicht funktioniert. Hier ist die Ausgabe der Python-interpreter wenn ich versuche, eine Unterklasse der Durchzug.Zustand Klasse: >>> import threading >>> class ThisWontWork(threading.Condition): ... pass ... Traceback (most recent
5
Antworten
Ich möchte eine Instanz der Klasse registriert, wenn die Klasse definiert ist. Im Idealfall den code unten würde den trick tun. registry = {} def register( cls ): registry[cls.__name__] = cls() #problem here return cls @register class
2
Antworten
Ich möchte Sie Fragen, was die with_metaclass() nennen bedeutet in der definition einer Klasse. E. g.: class Foo(with_metaclass(Cls1, Cls2)): Ist es ein besonderer Fall, in denen eine Klasse erbt von einer Metaklasse? Ist die neue Klasse eine
6
Antworten
Was bedeutet class << self tun in Ruby? InformationsquelleAutor der Frage randombits | 2010-03-24
17
Antworten
Ich habe einen Freund, der gerne Metaklassen, und regelmäßig bietet Ihnen eine Lösung. Ich bin der Meinung, dass man fast nie verwenden müssen Metaklassen. Warum? weil ich denke, wenn Sie etwas wie, dass die Klasse, die sollten
4
Antworten
Bin ich mit Django, die es Menschen ermöglicht das hinzufügen von zusätzlichen Parametern, um eine Klasse mit class Meta. class FooModel(models.Model): ... class Meta: ... Das einzige was ich gefunden habe in der Python-Dokumentation: class FooMetaClass(type): ...
4
Antworten
Bei der Besprechung der Metaklassen, die docs Zustand: Können Sie natürlich überschreiben auch die andere Klasse von Methoden (oder neue hinzufügen Methoden), z.B. definieren von benutzerdefinierten __call__() - Methode in der Metaklasse ermöglicht benutzerdefinierte Verhalten, wenn die
3
Antworten
Schreibe ich eine interne DSL in Ruby. Für diese brauche ich, um programmgesteuert erstellen von benannten Klassen und geschachtelte Klassen. Was ist der beste Weg, dies zu tun? Ich recon, dass es zwei Wege das zu tun:
19
Antworten
Diese Frage ist nicht für die Diskussion, ob oder ob nicht die singleton-design-Muster wünschenswert ist, ist ein anti-pattern, oder für irgendwelche Glaubenskriege, sondern um zu diskutieren, wie dieses Muster ist am besten in Python implementiert, so dass
5
Antworten
Ich muss eine Klasse erstellen, die die Verwendung einer anderen Basis-Klasse abhängig von einer Bedingung. Mit einigen Klassen, bekomme ich die berühmt-berüchtigten: TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of