title: Why is `def f(_,): pass` a valid Python function definition?
body: <p>I writing some Python code in an interactive console when I accidentally typed</p>
  
  <pre><code>def f(_, ): pass
  </code></pre>
  
  <p>only to find that, to my surprise, the interpreter wouldn't complain. I actually meant to have two dummy arguments, but why does the interpreter accept the function if the second parameter does not have a name?</p>