title: Why is assigning the result of print an invalid syntax?
body: <p>Simple code:</p>
  
  <pre><code>&gt;&gt;&gt; a = print('foo')
    File "&lt;stdin&gt;", line 1
      a = print('foo')
              ^
  SyntaxError: invalid syntax
  </code></pre>
  
  <p>Why? Isn't <code>print</code> supposed to return <code>None</code>? What is so special about <code>print</code>?</p>
  
  <p>Nota: there is not much point to this, just trying to understand why this specific function reacts like this.</p>