python: set a class variable programmatically before other class variables get set?
<p>i have a case where i create a class inside an outer function and then return that class. the class has a specified parent class. i would like that class variable to be accessible by class methods on the parent class, these methods are called at class initialization time. in summary, i need to be able to set a class variable (not hardcoded) so that it is available before initializing other, hardcoded class variables.</p>

<p>here's some sample code to make that clearer:</p>

<pre><code>class Parent(object):
    class_var = None

    @classmethod
    def get_class_var_times_two(cls):
        return cls.class_var * 2


def outer_function(class_var_value):

    class Child(Parent):
        other_var = Parent.get_class_var_times_two() # &lt;-- at this point, somehow Child's class_var is set to class_var_value
</code></pre>

<p>Not sure if this is even possible in python. Maybe class_var_value doesn't need to be passed through the outer function. I tried using metaclasses and forcing the variable through in the class attribute dictinoary, but couldn't figure out how to set class_var on Child early enough so that it was set prior to initializing other_var. If that was possible, then this would all work. Any thoughts are appreciated!</p>

<p>Edit: also considered making other_var a lazy property, but that isn't an option for my use case.</p>
