Force python subclass init to use subclass variables, not parent class
<p>In the following code:</p>

<pre><code>class A(object):
  VALUE = 1
  def __init__(self, value=VALUE):
    self.value = value

class B(A):
  VALUE = 2
</code></pre>

<p>i'd expect that B().value should be equal to 2, however:</p>

<pre><code>B().value = 1
</code></pre>

<p>Is there an elegant way to define a class hierarchy where child classes can just declare class variables they want to override and have them be defaults for the instance variables? I still want to allow for these to be changed on a per-instance level, eg.</p>

<pre><code>b = B(value=3)
</code></pre>
