Pythonic solution for conditional arguments passing
<p>I have a function with two optional parameters:</p>

<pre><code>def func(a=0, b=10):
    return a+b
</code></pre>

<p>Somewhere else in my code I am doing some conditional argument passing like:</p>

<pre><code>if a and b:
   return func(a, b)
elif a:
   return func(a)
elif b:
   return func(b=b)
else:
   return func()
</code></pre>

<p>Is there anyway to simplify code in this pattern?</p>

<p><strong>EDIT</strong>:</p>

<p>Let's assume that I'm <strong>not allowed to</strong> implement default parameter logic inside <code>func</code>.</p>

<p>I may have several functions like <code>func</code>: <code>func1</code>, <code>func2</code> and <code>func3</code> would all contain the </p>

<pre><code>a = a or 0
b = b or 10
</code></pre>

<p>statements.</p>

<p>But I'm invoking these series of functions to eliminate duplication. (using a decorator)</p>
