Python: imprimiendo una función simple [duplicar]

Esta pregunta ya tiene una respuesta aquí:

La función devuelve Ninguno sin la declaración de devolución 6 respuestas

Soy un principiante absoluto en Python y la programación en general y acabo de tener mi primera exposición a las funciones.

He definido dos funciones simples a continuación:

def output1():
   print "Hello, world!"

def output2():
   print "Hello, there!"

output1()
output2()

Después de guardar lo anterior en un script llamado function.py, luego uso el shell de Windows para ejecutar el script, e imprime lo siguiente como era de esperar:

Hello, world!
Hello, there!

Sin embargo, cuando modifico el script para:

def output1():
   print "Hello, world!"

def output2():
   print "Hello, there!"

print output1()
print output2()

Imprime:

Hello, world!
None
Hello, there!
None

Por curiosidad, ¿por qué hace esto cuando prefijo output1 y output2 con print?

Respuestas a la pregunta(2)

Su respuesta a la pregunta