I would like to be able to call a specific classmethod on a class name that is going to be passed from another parameter. In other words, I have a call that looks something like:
x = Foo.bar() and I would like to generalise this so that I can make this call on any particular class which provides the bar classmethod. I have implemented this using exec, like so: className = parameters.className exec "x = " + className + ".bar()" but this feels somewhat clumsy. (I do have the requisite exception handling to cope with the supplied class not existing or not implementing the bar method, by the way). Is there any more Pythonesque way of doing this ? I guess what I'm probably looking for is something like the way I understand the send function works in Ruby -- http://mail.python.org/mailman/listinfo/python-list