quantize()和str.format()有什么区别?

3 投票
1 回答
1412 浏览
提问于 2025-04-15 17:42

我不是在问技术上的区别,而是想知道哪种方法更快、更合理或者更符合Python的风格等等:

    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)

这两者看起来完全一样,所以我只是想知道为什么会有quantize这个东西。

1 个回答

8

Decimal.quantize 会返回一个新的 Decimal,这个新值和原来的不一样。

''.format() 是用来格式化字符串的。

在这个特定的情况下,打印结果看起来是一样的。但除此之外,这两个操作完全不同,返回的结果类型也完全不一样。

撰写回答