[Python-de] elif auflösen
Michael Haggerty
haggerty at jpk.com
Mit Apr 21 10:31:29 CEST 2004
On Wed, 2004-04-21 at 10:08, Hartmut Goebel wrote:
> Wenn man die Funktionen nach den eingabe-Strings (hier tags) benennen
> kann, kann man sich die Sprungtabelle sparen. Denn nach Murphy vergisst
> man bestimmt, die immer mitzuziehen.
>
> Die folgende Idee habe ich von John Acock ('spark'):
>
> def f_aaa1(...):
> ...
> def f_aaa2(...):
> ...
>
> def call(name, *args)
> # lookup function f_<name> in this module
> THIS = inspect.getmodule(call)
> func = getattr(THIS, 'f_%s' % op)
> func(*args)
Oder:
def call(name, *args):
# lookup function f_<name> in this module
globals()['f_%s' % name](*args)
--
Michael Haggerty
JPK Instruments, AG
haggerty at jpk.com