[Python-de] Funktionscall per "String"
Gerhard Häring
gh at ghaering.de
Son Okt 5 17:36:11 CEST 2003
Klaus-G. Meyer wrote:
> [...] Insgesamt überrascht es mich etwas, dass das in Python so "unintuitiv"
> geht. Alle Lösungen sehen für mich jedenfalls mehr oder weniger unschön
> aus. [...]
Das ist auch gut so [tm]. Unschöne und zu 99 % unnötige Hacks sollen
nicht intuitiv sein, sonst hätten wir eine andere Programmiersprache :-D
Meistens, wenn jemand so was will, ist in Wirklichkeit ein simpler
Verweis auf eine Funktion angebracht. Minimales Beispiel:
def f1(): print "f1"
def f2(): print "f2"
f = f1
f()
f = f2
f()
Der einzige Fall, wo ich mir momentan vorstellen könnte, dass es
sinnvoll wäre, den Namen der zu verwendenden Funktion im String zu
haben, ist wenn diese in einer Konfigurationsdatei festgelegt werden soll.
-- Gerhard