In Python is it possible to instantiate a class through a dictionary?
shapes = {\'1\':Square(), \'2\':Circle(), \'3\':Triangle()} x = shapes[raw_input()] >
Almost. What you want is
shapes = {'1':Square, '2':Circle, '3':Triangle} # just the class names in the dict x = shapes[raw_input()]() # get class from dict, then call it to create a shape instance.