title: Why does Python assignment not return a value?
body: <p>Why is Python assignment a statement rather than an expression? If it was an expression which returns the value of the right hand side in the assignment, it would have allowed for much less verbose code in some cases. Are there any issues I can't see?</p>
  
  <p>For example:</p>
  
  <pre><code># lst is some sequence
  # X is come class
  x = X()
  lst.append(x)
  </code></pre>
  
  <p>could have been rewritten as:</p>
  
  <pre><code>lst.append(x = X())
  </code></pre>
  
  <p>Well, to be precise, the above won't work because <code>x</code> would be treated as a keyword argument. But another pair of parens (or another symbol for keyword arguments) would have resolved that.</p>