title: Passing keyword arguments to a function when local variable names are same as function parameter names
body: <p>Is there a more succint way to write this?</p>
  
  <pre><code>f(a=a, b=b, c=c, d=d, e=e)
  </code></pre>
  
  <p>Background: I have a function with too many arguments</p>
  
  <pre><code>f(a, b, c, d, e):
      pass
  </code></pre>
  
  <p>I my program I have local variables that are named exactly same as the function parameters. </p>
  
  <pre><code>a, b, c, d, e = range(5)
  </code></pre>
  
  <p>I would like to call the function with keyword arguments. Since the variables are named the same, this is how the call would look.</p>
  
  <pre><code>g = f(a=a, b=b, c=c, d=d, e=e) # this can get very long
  </code></pre>
  
  <p>Of course, I can pass the aruguments using position instead of keywords like this</p>
  
  <pre><code>g = f(a, b, c, d, e) 
  </code></pre>
  
  <p>But <code>a</code>, <code>b</code>, <code>c</code>, <code>d</code>, <code>e</code> are just the names of variables in this example and it is easy to see the correct order. However unfortunately the variables in my program are named more complicatedly and there is no easily discernible natural order. So I really like to pass them by keyword to avoid any mistakes.</p>