Two tricks here, you need to use a stream to get everything in the right place and you also need to flush the stream buffer.
import time
import sys
def delay_print(s):
for c in s:
sys.stdout.write(c)
sys.stdout.flush()
time.sleep(0.25)
delay_print("hello world")