The old way of formatting used a binary operator, %. By its nature, it can only accept two arguments. The new way of formatting uses a method. Methods can take any number of arguments.
Since you sometimes need to pass multiple things to format and it’s somewhat clumsy to create tuples with one item all the time, the old-style way came up with a hack: if you pass it as a tuple, it will use the contents of the tuple as the things to format. If you pass it something other than a tuple, it will use that as the only thing to format.
The new way does not need such a hack: as it is a method, it can take any number of arguments. As such, multiple things to format will need to be passed as separate arguments. Luckily, you can unpack a tuple into arguments using *:
print("First item: {:d}, second item: {:d} and third item: {:d}.".format(*tuple))