使decimal.Decimal成为Python中的默认数值类型

Eri*_*itt 15 python interpreter decimal bc dc

有什么方法可以生成decimal.Decimal是Python中所有数值的默认类型吗?我希望能够以类似于bc和dc程序的方式使用Python,而不必为每个数字调用decimal.Decimal(...).

编辑:对于没有经验的人:bc.

编辑2:谢谢你的标记模块..

Eri*_*itt 7

在tokenize模块的文档的底部,有一个功能完全符合我的需要:


por*_*uod 5

没有一些严肃的魔术,您就无法真正做到自己的要求,我不会在回答中尝试触及,但至少有一种比做起来简单的方法 decimal.Decimal(...)

from decimal import Decimal as D
num = D("1") + D("2.3")
Run Code Online (Sandbox Code Playgroud)

编辑:使用注释中的较短形式。

  • 问题在于Python是一种通用的编程语言,并且以不希望发生神奇的事情而着称。就像python所说的那样:“显式比隐式好。” 这就是为什么您对这个问题的回答完全符合您的要求的原因。 (10认同)
  • 而且,它更像是D(“ 2.3”)`,所以我不会失去精度。 (2认同)