Force default reevaluation on function call
<p>AFAIK, Python evaluates the defaults of a function only once, at declaration time. So calling the following function <code>printRandom</code></p>

<pre><code>import random
def printRandom(randomNumber = random.randint(0, 10)):
    print randomNumber
</code></pre>

<p>will print the <em>same</em> number each time called without arguments. Is there a way to force reevaluation of the default <code>randomNumber</code> at each function call without doing it manually? Below is what I mean by "manually":</p>

<pre><code>import random
def printRandom(randomNumber):
    if not randomNumber:
         randomNumber = random.randint(0, 10)
    print randomNumber
</code></pre>
