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
Varaible Funktionsaufrufe - Funktionsname ermitteln
Was meinst du?
Meinst du sowas?
Meinst du sowas?
Code: Alles auswählen
class Foo(object):
def bar(self):
pass
foo = Foo()
foobar = foo.bar
foobar() # identisch mit foo.bar()
So ähnlich.
Guck mal:
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()
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
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
TUFKAB – the user formerly known as blackbird