有人可以澄清python 3中的int和float数据类型根本没有最大或最小限制吗?另外fraction.Fraction和decimal.Decimal的用途是什么?
int
没有限制。您可以从系统调用中获得浮动的限制]
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
Python使用二进制浮点数,而您在十进制和浮点数之间失去了一些精度转换。处理浮点数所估计的分数时,也会降低精度。 decimal
会以10为基础进行数学运算,以降低转换速度为代价来减少转换问题。分数试图将事物保留为分数以避免这种估计水平。
在Python中,integer的值不受位数限制,并且可以扩展到可用内存的限制。
关于浮动,请看sys.float_info:
>>> import sys
>>> sys.float_info
sys.floatinfo(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2
250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsil
on=2.2204460492503131e-16, radix=2, rounds=1)
要回答第二部分,请在以下链接中找到信息: