[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