[Tutor] call a def/class by reference

Adam adam.jtm30 at gmail.com
Thu Sep 29 01:13:08 CEST 2005


How about something like this

def foo(bar):
print bar

d = {"foo":foo}
s = "foo"
params = "bar"
try: d[s](params)
except: KeyError

Then you can just put the allowed functions into the dictionary.

On 29/09/05, DS <ds-python-tutor at sidorof.com> wrote:
>
> Is it possible to call a function or class by reference, aside from
> using an eval approach?
>
> What I would like to do is have a loop that processes functions by:
>
> 1. gettting the input that consists of a function and its parameters,
> 2. determining if the function is on an approved function list,
> 3. executing the function
> 4. rinse, repeat.
>
> I don't actually mind eval, but I would want to make sure I inspect
> everything pretty thorougly before executing.
>
> Thanks for any help you can give me.
>
> ds
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20050929/727ec11d/attachment-0001.htm


More information about the Tutor mailing list