Python中的强制类型转换函数int()和float()究竟把数据转换成了哪种整型、哪种浮点型(这是个伪命题,Python的数值型数据类型只有四种)

Python中的强制类型转换函数int()和float()究竟把数据转换成了哪种整型、哪种浮点型?

问这个问题,实际上是把Python中的数值型数据类型与Python的Numpy库的数值型数据类型搞混了,Numpy库的数值型数据类型是很丰富的,详情见博文 https://blog.csdn.net/wenhao_ir/article/details/124409146

而Python中的数值型数据类型实际上只有四种,即int(整型)、long(长整型)、float(浮点型)、complex(复数)四种类型。

一般不用去考虑它们的范围,因为它们的范围是很大的,具体的范围与Python解释器的位数有关,比如我的解释器是64位的,可以用下面的代码输出int能表示最大的值。

import sys
print('maxsize is {}'.format(sys.maxsize))

运行结果如下:

maxsize is 9223372036854775807

当超过这个数,系统会转换成long(长整型)类型,long类型没有限制大小,想赋值多大都行,只要内存足够大就可以。

正是由于只有这四种数值型数据类型,所以Python的标准库函数也就只提供了两个与数值型数据类型相关的强制类型转换函数,分别为函数int()和float()。函数int()将数据类型转换为int型,而函数float()将数据类型转换为float。

延伸阅读:
使用NumPy库的函数astype()对ndarray的数据类型进行转换

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/125078051
今日推荐