В чем разница между quantize () и str.format ()? - PullRequest
3 голосов
/ 06 января 2010

Я не имею в виду, в чем техническая разница, а скорее каков более быстрый / более логичный или Pythonic и т. Д. Способ сделать это:

    def __quantized_price(self):
        TWOPLACES = Decimal(10) ** -2
        return self.price.quantize(TWOPLACES)

или

    def __formatted_price(self):
        TWOPLACES = Decimal(10) ** -2
        return '{0:.2f}'.format(self.price)

Они кажутся совершенно одинаковыми, поэтому мне просто интересно, почему они создали квантование, когда

1 Ответ

7 голосов
/ 06 января 2010

Decimal.quantize возвращает новый Decimal с другим значением.

''.format() форматирует строку.

В этом конкретном случае печать результата дает тот же результат. Кроме того, это совершенно разные операции, возвращающие совершенно разные типы.

...