1、数字
int(整型)
在32位系统上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
Python的长整数没有指定位宽,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
该图里面使用的是python2.7版本,type(2**16)、type(2**25)都是int整型,但是type(2**32)就自动变为了long长整型
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
1 print(type(0.000523)) 2 print(5.23E-4) 3 print(5.23*10**-4)
结果
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。使用较少
注:Python中存在小数字池:-5 ~ 257
2、布尔值
真或假、
1 或 0
1 a = 0 2 if a : 3 print("true") 4 else: 5 print("flase")
当a等于0时返回flase,等于1时返回true
3、字符串
string
python中文本总是用unicode进行编码,以str类型表示;
4.bytes类型
二进制类型
python2中string和二进制类型是相同的,python3中将文本(text)和二进制数据做了更清晰的区分。
文本总是用unicode进行编码,以str类型表示;而二进制数据以bytes类型表示。
在python3中,不能以任何隐式方式将str和bytes类型二者混合使用。不可以将str和bytes类型进行拼接,不能在str中搜索bytes数据(反之亦然),也不能将str作为参数传入需要bytes类型参数 的函数(反之亦然)。
strings可以被编码(encode)成字bytes,bytes也可以解码(decode)成strings:
1 >>> '€20'.encode('utf-8') 2 b'\xe2\x82\xac20' 3 >>> b'\xe2\x82\xac20'.decode('utf-8') 4 '€20'