title: What does sys.stdin.read() return exactly in python?
body: <p>I am new to python and am working on interactive shell. I was trying out python standard library and I read from the documentation that <code>stdin.read()</code> returns a string argument.
  But when I go ahead and print the variable storing input value it displays a random character. Confused on what it signifies</p>
  
  <pre><code>&gt;&gt;&gt;input=sys.stdin.read()
  &gt;&gt;&gt;1 2
  &gt;&gt;&gt;sys.stdout.write(input)
  &gt;&gt;&gt;1 2 
     4
  </code></pre>
  
  <p>What does the 4 signifies. Why is it displayed. If instead I do <code>print(input)</code>. It works fine and returns <code>"1 2"</code>.Is it just a garbage value or does it have some significance.</p>
  
  <p>Further when I split Input to get a list. It returns only two elements <code>['1', '2']</code>. As expected. I am curious why 4 is displayed and it is not constant.</p>
  
  <pre><code>&gt;&gt;&gt;input=sys.stdin.read()
  &gt;&gt;&gt;1 2 3 4
  &gt;&gt;&gt;sys.stdout.write(input)
  &gt;&gt;&gt;1 2 3 4
     8
  </code></pre>
  
  <p>Print and Split again works fine.</p>