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.

Automatisches festlegen einer enum-Mitglied Wert auf seinen Namen

Anzahl der Antworten 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 =

TypeErrors Verwendung von Metaklassen in Verbindung mit Mehrfachvererbung

Anzahl der Antworten 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

Metaclass Mixins oder die Verkettung?

Anzahl der Antworten 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

Verständnis __init_Unterklasse__

Anzahl der Antworten 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

Generische Metaklasse zu verfolgen Unterklassen?

Anzahl der Antworten 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

Wie zu Lesen, werden Klassen-Attribute in der gleichen Reihenfolge wie deklariert?

Anzahl der Antworten 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

Lösung Metaklasse Konflikte

Anzahl der Antworten 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

Verwendung von abc.ABCMeta in einer Weise es ist kompatibel sowohl mit Python 2.7 und Python 3.5

Anzahl der Antworten 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

Was bedeutet " super().__init__()' bedeutet in python 3.x?

Anzahl der Antworten 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

Add-Methode, um Metaklasse

Anzahl der Antworten 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 = {

Was sind (konkrete) use-cases für die Metaklassen?

Anzahl der Antworten 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

__metaclass__ in Python ist3.5

Anzahl der Antworten 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) >

Gibt es eine Möglichkeit, um Metaklasse nach der definition der Klasse?

Anzahl der Antworten 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

Auto-register Klasse von Methoden mit decorator

Anzahl der Antworten 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

Dreifache Vererbung verursacht Metaklassenkonflikt ... Manchmal

Anzahl der Antworten 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,

"MetaClass", "__new__", "cls" und "super" - was genau ist der Mechanismus?

Anzahl der Antworten 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

Metaclass-Mehrfachvererbungsinkonsistenz

Anzahl der Antworten 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

Fehler beim Aufruf der Metaklassen-Basen: function () Argument 1 muss Code sein, nicht str

Anzahl der Antworten 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

Wie man eine Klasse automatisch registriert, wenn sie definiert ist

Anzahl der Antworten 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

Python-Metaklasse: Die 'with_metaclass ()' verstehen

Anzahl der Antworten 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

Klasse & lt; & lt; Selbstsprache in Ruby

Anzahl der Antworten 6 Antworten
Was bedeutet class << self tun in Ruby? InformationsquelleAutor der Frage randombits | 2010-03-24

Was sind (konkrete) Anwendungsfälle für Metaklassen?

Anzahl der Antworten 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

Wie funktioniert Djangos Meta-Klasse?

Anzahl der Antworten 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): ...

Verwenden Sie die Methode __call__ einer Metaklasse anstelle von __new__?

Anzahl der Antworten 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

Definieren Sie dynamisch benannte Klassen in Ruby

Anzahl der Antworten 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:

Erstellen eines Singletons in Python

Anzahl der Antworten 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

Python 3: TypeError: Metaklassenkonflikt: Die Metaklasse einer abgeleiteten Klasse muss eine (nicht strikte) Unterklasse der Metaklassen aller ihrer Basen sein

Anzahl der Antworten 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