19516176076 发表于 2025-4-8 20:09:44

fractions模块

>>> Fraction('1.414213 \t\n')
Fraction(1414213, 1000000)
我认为这个t\n应该代表的是1e-6,但为什么用t\n,有什么别的含义吗

FishC 发表于 2025-4-8 20:13:50

关于Fraction字符串解析中\t\n的解释

Python的 fractions.Fraction 在解析字符串时,会自动忽略字符串中的 所有空白字符(包括空格、\t、\n等)。例子中的 \t\n 并没有特殊数学含义,只是作为被忽略的冗余字符存在。


[*]原始字符串:'1.414213 \t\n'
[*]实际解析值:1.414213
[*]计算逻辑:1.414213 = 1414213/1000000


验证实验:

>>> from fractions import Fraction
>>> Fraction('1.414213')          # 无空白符
Fraction(1414213, 1000000)
>>> Fraction('1.414213 \t\n ')# 前后带空白符
Fraction(1414213, 1000000)


如果要表示科学计数法,需要显式使用 e/E 符号:

>>> Fraction('1.414213e-6')# 这才是1.414213 × 10^-6
Fraction(1414213, 1000000000000)


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

player-none 发表于 2025-4-8 20:59:43

没什么意义,空白字符(Whitespace)通常不被考虑.

问问你这代码哪来的?

小甲鱼的二师兄 发表于 2025-4-9 02:27:21

\t\n 是侵入代码,不应该存在的。

19516176076 发表于 2025-4-9 10:02:56

player-none 发表于 2025-4-8 20:59
没什么意义,空白字符(Whitespace)通常不被考虑.

问问你这代码哪来的?

宝典查找里这个模块的讲解里有这个

19516176076 发表于 2025-4-9 10:04:43

小甲鱼的二师兄 发表于 2025-4-9 02:27
\t\n 是侵入代码,不应该存在的。

您好,侵入代码是什么意思
页: [1]
查看完整版本: fractions模块