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