you need to use getattr to actually get the callable and then call it ...

do this

fn = getattr(obj,a)
fn()

not this

obj.a()

of coarse you are not checking if the callable has any required arguments or anything like that ... im not sure what you are actually trying to accomplish... but im skeptical that this is the right technique

additionally you need one more ) on this line callable(getattr(obj,a):