title: Pythonic solution for conditional arguments passing
body: <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>