Zahlen zu formatieren, d.h. in einen String wandeln und diesen dann richtig mit tausender Punkt und Nachkommastellen zu versehen ist nicht ganz trivial und es gibt dazu mehrere Lösungsansätze, wie man hier nachlesen kann.
Eine Variante ist es das locale-Modul zu verwenden:
1 >>> import locale
2 >>> locale.setlocale(locale.LC_ALL, '')
3 'de_DE.ISO-8859-1'
4 >>> locale.format("%.2f",12000,1)
5 '12.000,00'
6 >>>