小编Rya*_*hen的帖子

Python:为什么math模块中的函数接受Decimal对象作为参数?

Bizzarely,Python的数学模块中的每个函数似乎都适用于Decimal对象.例如:frexp,exp,cos.

当我输入时print(math.frexp(decimal.Decimal('2341.12412'))),Python打印正确的答案,这是(0.57156... , 12),并且不会抛出任何异常.

我假设数学模块将用低级C编写,尽可能地依赖硬件数学运算来提高效率.那么......为什么它适用于Decimal对象?

他们是否对数学函数进行了类型检查,如果参数是Decimal,则切换到不同的实现?我没有看到文档中提到的任何内容.它也可能是Decimal自动转换为浮点数,但这也没有任何意义.

是的,我很困惑.

python math decimal

8
推荐指数
1
解决办法
409
查看次数

标签 统计

decimal ×1

math ×1

python ×1