'None' is not displayed as I expected in Python interactive mode
<p>I thought the display in Python interactive mode was always equivalent to <code>print(repr())</code>, but this is not so for <code>None</code>. Is this a language feature or am I missing something? Thank you</p>

<pre><code>&gt;&gt;&gt; None
&gt;&gt;&gt; print(repr(None))
None
&gt;&gt;&gt;
</code></pre>

<p>Yes, this behaviour is intentional.</p>

<p>From the <a href="https://docs.python.org/3/reference/simple_stmts.html#expression-statements" rel="nofollow">Python docs</a></p>

<blockquote>
  <p>7.1. Expression statements</p>
  
  <p>Expression statements are used (mostly interactively) to compute and
  write a value, or (usually) to call a procedure (a function that
  returns no meaningful result; in Python, procedures return the value
  <code>None</code>). Other uses of expression statements are allowed and
  occasionally useful. The syntax for an expression statement is:</p>

<pre><code>expression_stmt ::=  starred_expression
</code></pre>
  
  <p>An expression statement evaluates the expression list (which may be a
  single expression).</p>
  
  <p>In interactive mode, if the value is not <code>None</code>, it is converted to a
  string using the built-in <code>repr()</code> function and the resulting string
  is written to standard output on a line by itself (except if the
  result is <code>None</code>, so that procedure calls do not cause any output.)</p>
</blockquote>

python