title: How to find a abstract class instance and call an instance method based on the instance' attributes?
body: <p>I want to call an instance method but the instance itself is unknown to me. The instance can be identified by it's attributes which I know, e.g. a unique name. </p>
  
  <p>Here're my class definitions and instantiation:</p>
  
  <pre><code>from abc import ABCMeta
  
  class MyAbstractClass():
      __metaclass__ = ABCMeta
  
      def do_something(self):
          print(self.name)
  
  class MyFirstClass(MyAbstractClass):
     def __init__(self):
         self.name = 'first'  
  
  class MySecondClass(MyAbstractClass):
      def __init__(self):
          self.name = 'second' 
  
  my_first_class_instance = MyFirstClass()
  my_second_class_instance = MySecondClass()
  </code></pre>
  
  <p>What I want to achive is a look-up by name: </p>
  
  <pre><code>def myPrint('first'):
      # should call my_first_class_instance.do_something()
  
  def myPrint('second'):
      # should call my_second_class_instance.do_something()
  </code></pre>
  
  <p>I looked into the built-in class methods but didn't find a way to manage the parametrization of the calls.
  What's a good way of doing this?</p>