"Cecilia Alm" <[EMAIL PROTECTED]> wrote > Thanks, Adam. I guess the exec would be exec("some_func"). > The result seems pretty similar to eval(), allthough eval() seems > more > straight-forward if the aim is to assign the returned value ("Done") > to a > variable.
>>>> s = eval('some_func("wasn\'t that cool")') > Hello World wasn't that cool >>>> s > 'Done' You should be able to just do: >>> s = some_func("wasn't that cool") The whole point of the exec is that the function now exists in your local namespace. You can execute it as any other function. >> func_str = \ >> ''' >> def some_func(value): >> # youwould check value instance here and do something to it >> print "Hello World", value >> return "Done" >> ''' >> exec(func_str) This creates the function >> f = locals()["some_func"] >> print f("wasn't that cool!") There should be no need for this trickery. HTH, -- Alan Gauld Author of the Learn to Program web site http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor