数据类型的概述
什么是数据类型
数据类型是对数据的分类,例如:整数类型、浮点类型、字符串类型,等等。
任何数据都有明确的数据类型,例如:18属于整数类型,5.6属于浮点类型,'Hello'属于字符串类型。
获取数据的数据类型
调用内置函数type可以获取数据的数据类型。
print(type(18)) #
print(type(5.6)) #
print(type('Hello'))#
整数类型
整数的不同进制表示方式
整数有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
布尔类型
什么是布尔类型
布尔类型只有两种取值:Trueor 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