Co-dependent default arguments
<p>I have code like so:</p>

<pre><code>import random

def helper():
    c = random.choice([False, True]),
    d = 1 if (c == True) else random.choice([1, 2, 3])
    return c, d

class Cubic(object):
    global coefficients_bound

    def __init__(self, a = random.choice([False, True]), 
        b = random.choice([False, True]),
        (c, d) = helper()):
        ...
        ...
</code></pre>

<p>The helper() function is introduced as I cannot have co-dependent arguments in the definition of the function itself - Python complains that it cannot find c when it's calculating d.</p>

<p>I want to be able to create an object of this class like so, changing a default argument:</p>

<pre><code>x = Cubic(c = False)
</code></pre>

<p>But I get this error:</p>

<pre><code>Traceback (most recent call last):
  File "cubic.py", line 41, in &lt;module&gt;
    x = Cubic(c = False)
TypeError: __init__() got an unexpected keyword argument 'c'
</code></pre>

<p>Is this possible with how I've written it? If not, what way should I do this?</p>
