python对象转换为字符串

c=1/3
str(c)
想问一下
1.为啥输出结果不应该是默认保留6位小数吗
2.分数不属于字符串吗?

1. 在Python中,如果未指定格式规范符,则默认情况下,小数值输出时会显示尽可能多的有效数字。您可以使用格式规范符来控制要输出的小数位数。例如,要保留小数点后6位,请使用  `%.6f`  格式规范符,如下所示:
c = 1/3
print("%.6f" % c)
这将输出  `0.333333` ,保留小数点后6位。
 2. 在Python中,分数类型是属于  `fractions.Fraction`  类型的,它可以表示一个有理数比。如果您使用分数类型,则其输出结果不是字符串类型。要将分数转换为字符串类型,您可以使用  `str()`  函数,如下所示:
from fractions import Fraction
c = Fraction(1, 3)
print(str(c))
这将输出字符串  `'1/3'` ,表示分数类型的  `c`  值已被转换为字符串类型。