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??