Ich erstelle dynamisch eine Funktion und weise sie einer Klasse zu. Dies ist ein einfaches/minimal Beispiel dafür, was ich versuche zu erreichen:Wie kann ich gebundene Methoden mit type() erstellen?
in diesem Fehlerdef echo(obj):
print obj.hello
class Foo(object):
hello = "Hello World"
spam = type("Spam", (Foo,), {"echo":echo})
spam.echo()
Ergebnisse
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unbound method echo() must be called with Spam instance
as first argument (got nothing instead)
Ich weiß, wenn ich die @staticmethod
Dekorateur verwendet, die ich spam
in als Parameter übergeben kann Echo, aber das ist für mich in meinem Anwendungsfall nicht möglich.
Wie bekomme ich die echo
Funktion, die an Spam
gebunden ist, und auf self
zuzugreifen? Ist es überhaupt möglich?