title: Understanding lambda in python and using it to pass multiple arguments
body: <p>After reading everything I can find  on lambda, I still don't understand how to make it do what I want.</p>
  
  <p>Everyone uses the example:</p>
  
  <pre><code>lambda x, y : x + y
  </code></pre>
  
  <p>Why do you need to state both <code>x</code> and <code>y</code> before the <code>:</code>? Also how do you make it return multiple arguments?</p>
  
  <p>for example:</p>
  
  <pre><code>self.buttonAdd_1 = Button(self, text='+', command=lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
  </code></pre>
  
  <p>This works just fine. But the following code does not:</p>
  
  <pre><code>self.entry_1.bind("&lt;Return&gt;", lambda : self.calculate(self.buttonOut_1.grid_info(), 1))
  </code></pre>
  
  <p>It yields the error:</p>
  
  <blockquote>
    <p>TypeError: () takes no arguments (1 given)</p>
  </blockquote>