I'm teaching myself Python and can't see a huge difference between these two examples except the extra formatting options (eg. %r) that string formatting provides.
name = "Bob"
print "Hi, my name is %s." % name
print "Hi, my name is", name
Is there any reason in general why you'd prefer one over the other? I realise that .format() is the preferred way to do this now, but this just for me to better understand how Python operates.
,operator implicitly adds a space in the output text but you can control this behaviour by using%operator.