如有兴趣了解更多请关注我的个人博客https://07xiaohei.com/
1.概念:
python中的数据类型主要是指变量所指的内存中对象的类型。
我们区分变量的数据类型主要是看其值和是否被强制转化过。
2.分类:
python中的基本数据类型共有六种,分别为:
- Number(数字) 包括整型、浮点型、复数型和布尔型
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
其中Number、String和Tuple是不可变数据类型,而List、Dictionary和Set是可变数据类型。
3.可变数据类型与不可变数据类型:
是指当该数据类型对应的变量的值改变后,内存地址是否发生了变化,如果内存地址不发生改变,则为可变数据类型,否则为不可变数据类型。
例如Number的值改变后其内存地址就会发生改变。
a=1
print(id(a))
a=2
b=2
print(id(a))
print(id(b))
# 输出结果:
# 140733592564520
# 140733592564552 a的地址改变了
# 140733592564552 b的地址和a的相同。
(二)基本数据类型:
1.数字型:
(1)整型:int
数字中的正整数、0和负整数均为整型,但只有int一种整数类型,表示为长整型
整型的长度范围不限,精度无限。
a=114514
b=0
c=-123456789000000
print(a," ",type(a))
print(b," ",type(b))
print(c," ",type(c))
#运行结果:
# 114514 <class 'int'>
# 0 <class 'int'>
# -123456789000000 <class 'int'>
另外可以用二进制、八进制或者十六进制来表示整型:
a=0x1111 #十六进制
b=0Xffff #x可以大写,后面同
c=0b01010 #二进制
d=0B101111
e=0o111 #八进制
f=0O333
print(a,b,c,d,e,f,sep="\n")
#输出结果:
# 4369 对应16^3+16^2+16^1+16^0
# 65535
# 10 对应2^3+2^1
# 47
# 73 对应8^2+8^2+8^0
# 219
各进制之间允许转换:
- 二进制:bin()
- 八进制:oct()
- 十六进制:hex()
- 十进制:int()
注意上面三个返回的是字符串,如要当整型使用请使用函数*int(对应进制字符串变量名,对应进制数)*来完成转换
print('十进制数 63 转换为二进制数为:', bin(63))
print('十进制数 63 转换为八进制数为:', oct(63))
print('十进制数 63 转换为十六进制数为:', hex(63))
# 输出结果:
# 十进制数 63 转换为二进制数为: 0b111111
# 十进制数 63 转换为八进制数为: 0o77
# 十进制数 63 转换为十六进制数为: 0x3f
a=0b111111 #a为二进制
b=bin(63) #b为从十进制63转化而得的而得的二进制0b111111
c=int(0b111111) #c为从二进制0b111111转化得到的十进制数
d=int(b,2) #注意b为字符串,字符串的转化为传入变量和需要转化成的进制数
print(type(a))
print(type(b))
print(type(c))
print(type(d))
#输出结果:
# <class 'int'>
# <class 'str'> 得到字符串
# <class 'int'> int转化就是整型
# <class 'int'> bin()转化后的二进制字符串通过int()转化为了10进制数字
print('二进制数 0b111111 转换为十进制数为:', 0b111111) # print() 函数输出整数默认为十进制
print('二进制数 0b111111 转换为八进制数为:', oct(0b111111))
print('二进制数 0b111111 转换为十六进制数为:', hex(0b111111))
#输出结果:
# 二进制数 0b111111 转换为十进制数为: 63
# 二进制数 0b111111 转换为八进制数为: 0o77
# 二进制数 0b111111 转换为十六进制数为: 0x3f
# 其他进制转换请自行尝试
如果数字太长,可以使用数字分隔符”_“,从右往左每三位添加一个,不会影响结果,方便阅读。
x=10_000_000_000_000_000
print(x)
#输出结果:
# 10000000000000000
鉴于每个部分的篇幅太长,接下来将会分成多篇文章进行讲解。