I learn from Currency formatting in Python, use the locale module to format numbers as currency. For instance,
#! /usr/bin/env python
# -*- coding: utf-8 -*-
For reference (for those that are looking to format numbers similar to how you would format currency), you can use locale.format_string to format numbers
value = 123456789
import locale
locale.setlocale(locale.LC_ALL, 'de_DE')
print(locale.format_string('%.2f', value, True))
Would return
123.456.789,00