Pythonowy sposób drukowania: z „formatem” lub formą procentową? [duplikować]

To pytanie ma już tutaj odpowiedź:

Formatowanie ciągów Pythona:% vs. .format 17 odpowiedzi

W Pythonie istnieją dwa różne sposoby generowania sformatowanego wyjścia:

user = "Alex"
number = 38746
print("%s asked %d questions on stackoverflow.com" % (user, number))
print("{0} asked {1} questions on stackoverflow.com".format(user, number))

Czy jest jeden sposób, aby być preferowanym nad drugim? Czy są równoważne, jaka jest różnica? Jakiej formy należy użyć, zwłaszcza w Pythonie3?

questionAnswers(4)

yourAnswerToTheQuestion