quantize()和str.format()有什么区别?
我不是在问技术上的区别,而是想知道哪种方法更快、更合理或者更符合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()
是用来格式化字符串的。
在这个特定的情况下,打印结果看起来是一样的。但除此之外,这两个操作完全不同,返回的结果类型也完全不一样。