halo allerseits
wie kann ich den einer klasse (noch besser waere einer instantz) nach ihrer definierung noch ein paar methoedchen anhaengen?
danke
methode nachtraeglich eienr klasse hinzufuegen
Code: Alles auswählen
class Foo:
pass
def bar(self):
print 42
def baz():
print 23
f = Foo()
Foo.bar = bar
f.baz = baz
f.bar()
f.baz()
Bei Klassen: einfach tun, ansonsten `new.instancemethod()` um gebundene Methoden zu erzeugen.
Code: Alles auswählen
In [31]: class A(object):
....: def __init__(self, value):
....: self.value = value
....:
In [32]: a = A(42)
In [33]: def method_a(self):
....: print self.value
....:
In [34]: A.spam = method_a
In [35]: a.spam()
42
In [36]: def method_b(self, other):
....: print self.value * other
....:
In [37]: a.ham = new.instancemethod(method_b, a, A)
In [38]: a.ham(23)
966