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

Reply via email to