Format des numéros de chaînes de caractères en Python

J'ai besoin de savoir comment mettre en forme les nombres comme des chaînes de caractères. Mon code est ici:

return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm

Les heures et les minutes sont des entiers, et des secondes est un float. le str() va convertir l'ensemble de ces chiffres à la dixième (0,1) de la place. Ainsi, au lieu de ma chaîne de la sortie "5:30:59.07 h", il affiche quelque chose comme "5.0:30.0:59.1 pm".

Ligne du bas, ce bibliothèque /fonction dois-je faire cela pour moi?