title: parameter error when inheriting from tkinter object
body: <p>I have a class, call it <code>Test</code>, which has a variable <code>var</code>. It uses this variable in its <code>__init__</code> mathod, and maybe looks something like this:</p>
  
  <pre><code>class Test(object):
      var = 0
      def __init__(self):
          print(self.var)
  </code></pre>
  
  <p>In order to change this variable before I initialise the class, this seemed logical</p>
  
  <pre><code>test = Test
  test.var = 42
  test.__init__(test)
  </code></pre>
  
  <p>...and behaves like I expected it to. (printing <code>42</code>)<br>
  However, when the code looks like this:</p>
  
  <pre><code>class Test(Canvas):
      var = 0
      def __init__(self, parent):
          Canvas.__init__(self, parent)
          self.pack()
          print(self.var)
  
  test = Test
  test.var = 42
  test.__init__(test, frame) #tkinter frame I had made elsewhere
  </code></pre>
  
  <p>... it throws an error at the <code>canvas.__init__</code> line, complaining that</p>
  
  <pre><code>TypeError: _options() missing 1 required positional argument: 'cnf'
  </code></pre>
  
  <p>I doubt this is a problem with the cnf parameters, as the class works fine when called 'normally', as in <code>test = Test()</code>. I have a feeling the parameters are being passed differently.
  Can someone shed some light?<br>
  Thanks in advance</p>