Hey Huy, thanks. But what is the first parameter in this case? (Note there is nothing here I'm trying to accomplish except understand).
In the original example, 'statsout' is the name of the module. In this case there is no module so why can you substitute 'output_text'? thanks, Pete On 2010-08-04, at 3:09 PM, Huy Ton That wrote: > If it is in the same code, and the namespace isn't a module or another class > you could do this: > > def output_text(data): > return_value = "This is text: " + data > return return_value > > def output(data, format="text"): > output_function = getattr(output_text, "output_%s" % format, output_text) > return output_function(data) > > -HTH > > Huy > > On Wed, Aug 4, 2010 at 1:23 PM, Pete <pkoe...@xs4all.nl> wrote: > Hi, > > I'm trying to understand the syntax for reflection in python. I was wondering > about this. > > From the example on diveintopython: > > http://diveintopython.org/power_of_introspection/index.html > > > import statsout > > def output(data, format="text"): > output_function = getattr(statsout, "output_%s" % format, > statsout.output_text) > return output_function(data) > > > I was wondering about how to make this work if the function that you are > trying to call is not in a module. Is that possible? > > Something like this: > > > def output_text(data): > > return_value = "This is text: " + data > return return_value > > > > def output(data, format="text"): > output_function = getattr(*****, "output_%s" % format, > statsout.output_text) > return output_function(data) > > What I can't figure out is what to put in place of *****. I've tried > globals()['__name__'], in various forms, to no avail. > > Any pointers would be appreciated. > > thanks, > > Pete > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor