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

Reply via email to