Python|数据类型
数据类型的概述
什么是数据类型
数据类型是对数据的分类,例如:整数类型、浮点类型、字符串类型,等等。
任何数据都有明确的数据类型,例如:18
属于整数类型,5.6
属于浮点类型,'Hello'
属于字符串类型。
获取数据的数据类型
调用内置函数type
可以获取数据的数据类型。
print(type(18)) #<class‘int'> print(type(5.6)) #<class'float'> print(type('Hello'))#<class'str'>
整数类型
整数的不同进制表示方式
整数有4种进制表示方式:
10
进制:默认的进制
2
进制:以0b
开头
8
进制:以00
开头
16
进制:以0x
开头
print(118) #118 print(0b1110110) #118 print(00166) #118 print(0×76) #118
整数转换为不同进制的字符串
可以调用内置函数将十进制整数转换为不同进制的字符串:
bin()
将十进制整数转换为2进制binary
字符串
oct()
将十进制整数转换为8进制octal
字符串
hex()
将十进制整数转换为16进制hexadecimal
字符串
print(bin(118)) #0bl110110 print(oct(118)) #00166 print(hex(118)) #0x76
整数的创建
除了直接创建一个整数,还可以调用内置函数int
创建整数
不传递任何参数时,返回整数0
只传递一个参数时,将传递的参数转换为整数
传递两个参数时,第一个参数必须是字符串,第二个参数指定进制
print(int()) #0 print(int(118)) #118 print(int(118.2)) #118 print(int('118')) #118 print(int('1110110',2)) #118 print(int('00166',8)) #118 print(int('0x76',16)) #118
浮点类型
什么是浮点数类型
浮点数类型用于表示浮点数,也就是小数。
print(0.123456789) #0.123456789
浮点数的创建
除了使用小数创建浮点数外,还可以调用内置函数float
创建浮点数。
不传递任何参数时,返回浮点数`0.0` 只传递一个参数时,将传递的参数转换为浮点数
print(float()) #0.0 print(float(118)) #118.0 print(float(118.2)) #118.2 print(float('118')) #118.0
用科学计数法表示浮点数
很大或很小的浮点数可以用科学计数法来表示:men
表示:m
乘以10
的n
次方。
print(2.3e8) #230000000.0 print(2.3e-4) #0.0002311u
浮点数存储的不精确性
计算机采用二进制存储浮点数时是不精确的,可能会存在误差,因此,对于浮点数的运算需要格外小心
print(1.1+2.2-3.3) #4.440892098500626e-16 print(1.1+2.2) #3.3000000000000003111111
解决方案 :导入模块decimal
或fractions
其中,
模块decimal
用于处理十进制的浮点数
模块fractions
用于处理分数
from decimal import Decimal print(Decimal('1.1')+Decimal('2.2')-Decimal('3.3')) #0.0 from fractions import Fraction print(Fraction(11,10)+Fraction(22,10)-Fraction((33,10)) #0
布尔类型
什么是布尔类型
布尔类型只有两种取值:True
or False
。
例如: 这次数学考试及格了吗?地铁三号线的早班车时间是六点吗?
print(5>3) #True print(5<3) #False
True的值为1,False的值为0
print(True1) #True print(False==0) #True print(True+False+5) #6