Seite 1 von 1
Varaible Funktionsaufrufe - Funktionsname ermitteln
Verfasst: Freitag 15. September 2006, 18:59
von JR
Hallo!
Kann man Methoden per Variable rufen? Und wie ermittle ich den Namen der Methode (oder auch Klasse), in der ich mich gerade befinde?
Gibt es dazu Befehle?
Dnka eund schönes WE!
JR
Verfasst: Freitag 15. September 2006, 19:03
von Joghurt
Was meinst du?
Meinst du sowas?
Code: Alles auswählen
class Foo(object):
def bar(self):
pass
foo = Foo()
foobar = foo.bar
foobar() # identisch mit foo.bar()
Verfasst: Freitag 15. September 2006, 19:09
von JR
So ähnlich.
Guck mal:
Code: Alles auswählen
def bar():
print 'Super'
class dummy:
def test(self):
print 'test'
def main():
# Methodennamen in Variable
dict = {'methodname' : bar(), 'classmethod' : test()}
# Folgendes geht
dict['methodname']
# Folgendes geht nicht
dummy = dummy()
dummy.dict['classmethod']
if __name__ == '__main__':
main()
Verfasst: Freitag 15. September 2006, 19:33
von mitsuhiko
Code: Alles auswählen
>>> def foo():
... print "FOOOOO!!!11"
...
>>> method_names = {'foo': foo}
>>> def call_method(name):
... return method_names[name]()
...
>>> call_method('foo')
FOOOOO!!!11