kann man eine funktion "by name" ansprechen (z.B. so wie bei einer Instanzvariable?)
Beispiel:
Code: Alles auswählen
class A:
def __init__(self):
self.a = "hallo"
def somefunc(self, text):
print "doing", text
Code: Alles auswählen
a = A()Code: Alles auswählen
a.__dict__['a']kann ich ähnlich auch an die funktion kommen?
ich stell mir das ungefähr so vor:
Code: Alles auswählen
a.__func__['somefunc']('important stuff')(wobei "__func__" natürlich wild erfunden ist)
geht das irgendwie?
thx im Voraus
hobbes
PS:
über
Code: Alles auswählen
dir(A)['__doc__', '__init__', '__module__', 'somefunc']
über
Code: Alles auswählen
dir(a)['__doc__', '__init__', '__module__', 'a']
und bei
Code: Alles auswählen
dir(a.__class__)['__doc__', '__init__', '__module__']
da taucht "somefunc" leider nicht mehr auf... sonst wäre ich über
Code: Alles auswählen
a.__class__.__dict__['somefunc']edit:
aaargh, geht ja doch... und zwar so:
a.__class__.__dict__['somefunc'](a, 'important stuff')
geht das auch direkter??
