数据类型的概述
什么是数据类型
数据类型是对数据的分类,例如:整数类型、浮点类型、字符串类型,等等。
任何数据都有明确的数据类型,例如: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