Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. This is version 1.3.0.
The decimal module provides support for fast correctly rounded decimal floating point arithmetic. It offers several advantages over the float datatype.
Python provides the several ways to the format numbers as currency strings including the locale module and str.format() method.
Depends what you're doing. In fact it's not always wrong to use floats for currency. For accounting you should probably use a fixed-precision decimal type.
Never use a floating point number to represent money. Floating numbers do not represent numbers in decimal notation accurately.
This article summarizes my experience and describes how to clean up messy currency fields and convert them into a numeric value for further analysis.