title: Simple Python Q: idk what produces None when this code's executed
body: <p>I'm just learning Python by reading a book and the following code was used to show the try and except commands. Those make sense, but my question is about the output. When executed, after the spam(0) produces an error, it says None on the following line, which is then followed by 42. Where's the None come from?</p>
  
  <pre><code>def spam(divideBy):
      try:
          return 42 / divideBy
      except ZeroDivisionError:
          print('Error')
  
  print(spam(2))
  print(spam(12))
  print(spam(0))
  print(spam(1))
  </code></pre>