所以我有一个简单的例子:
import fractions
f = fractions.Fraction(6, 12)
我不想f
成为1/2
。我希望它留下来6/12
。有没有办法做到这一点?
所以我有一个简单的例子:
import fractions
f = fractions.Fraction(6, 12)
我不想f
成为1/2
。我希望它留下来6/12
。有没有办法做到这一点?
在这里找到了解决方案:
不,不是。
_normalize
可以设置一个内部标志,允许创建非标准化分数(并可能导致许多未定义的行为)。
>>> f = fractions.Fraction(6, 12, _normalize=False)
>>> f
Fraction(6, 12)
但它不会对计算结果做任何事情。该模块的部分用途是允许发现相等的分数相等,这是通过标准化完成的。所以它看起来是一个不能被禁用的核心部分。
>>> frac(1,2) == frac(6,12, _normalize=False)
False