title: __unicode__() doesn't return a string
body: <p>I have the following class in python</p>
  
  <pre><code>class myTest:
      def __init__(self, str):
          self.str = str
  
      def __unicode__(self):
          return self.str
  </code></pre>
  
  <p>and in some other file a instantiate myTest to try out the unicode() method</p>
  
  <pre><code>import myClass
  
  
  c = myClass.myTest("hello world")
  
  print c
  </code></pre>
  
  <p>as print out I get <code>&lt;myClass.myTest instance at 0x0235C8A0&gt;</code> however if I overrider <strong>__<em>str</em>__</strong>() I will get <code>hello world</code> as output. My question is, how should I write the overrider for <strong>__<em>unicode</em>__</strong>() if I want it to output string instead?</p>