title: Is it pythonic for a function to return multiple values?
body: <p>In python, you can have a function return multiple values.  Here's a contrived example:</p>
  
  <pre><code>def divide(x, y):
      quotient = x/y
      remainder = x % y
      return quotient, remainder  
  
  (q, r) = divide(22, 7)
  </code></pre>
  
  <p>This seems very useful, but it looks like it can also be abused ("Well..function X already computes what we need as an intermediate value.  Let's have X return that value also").</p>
  
  <p>When should you draw the line and define a different method?  </p>