title: inheritance from str or int
body: <p>Why I have problem creating a class inheriting from str (or also from int)</p>
  <pre><code>class C(str):
     def __init__(self, a, b):
       str.__init__(self,a)
       self.b = b
  
  C(&quot;a&quot;, &quot;B&quot;)
  
  TypeError: str() takes at most 1 argument (2 given)
  </code></pre>
  <p>the same happens if I try to use <code>int</code> instead of <code>str</code>, but it works with custom classes. I need to use <code>__new__</code> instead of <code>__init__</code>? why?</p>