一、Python有六大数据类型
数字(Number)
字符串(String)
列表(List)
元组(Tuple)
字典(Dictionary)
集合(Set)
二、而数字型又分为
int(整数)
float(浮点数)
complex(复数)
bool(布尔)
bool 是 int 的子类,True 等价 1,False 等价 0。
三、数字型数据类型详解
1. int 整数类型
int 指不带小数点的整数,包含正整数、负整数、0,Python 的整数没有大小限制。 整数可以使用十进制、二进制、八进制、十六进制书写。 整数可以和浮点数、布尔值互相转换。
# 定义整数 a = 10 b = -50 c = 0 print(type(a)) # 进制写法 print(0b1001) # 二进制 print(0o12) # 八进制 print(0xA) # 十六进制 # 类型转换 print(int(3.9)) # 浮点数转整数:直接舍去小数,不四舍五入 print(int(True)) # 布尔转整数:True=1 print(int(False)) # 布尔转整数:False=0
2. float 浮点数类型
float 指带小数点的小数,整数后缀加.0也属于浮点数。 浮点数存在精度误差,是计算机底层二进制存储导致的正常现象。 浮点数可以和整数、布尔值互相转换。
# 定义浮点数 x = 3.14 y = -0.666 z = 5.0 print(type(x)) # 浮点数精度问题 print(0.1 + 0.2) # 科学计数法 s = 1.2e3 print(s) # 类型转换 print(float(8)) # 整数转浮点数 8.0 print(float(True)) # 1.0 print(float(False)) # 0.0
3. bool 布尔类型
bool 是 int 的子类,只有两个值:True、False。 本质:True 等价 1,False 等价 0,可以直接参与数学运算。 转换规则:数字为 0、0.0 为空 → False;所有非 0 数字全部为 True。
# 定义布尔值 flag1 = True flag2 = False print(type(flag1)) # 布尔可以参与运算 print(True + 1) print(False + 10) # 类型转换 print(bool(0)) print(bool(0.0)) print(bool(123)) print(bool(-99))
4. complex 复数类型
complex 复数由实部 + 虚部 (j)组成,日常开发极少使用。 复数可以由整数、浮点数、布尔值转换而来,但复数不能转回 int、float。
# 定义复数 num = 3 + 4j print(type(num)) print(num.real) # 取实部 print(num.imag) # 取虚部 # 类型转换 print(complex(5)) print(complex(2, 6)) print(complex(True))
数字类型整体转换总结
int、float、bool三者可以随意互相转换
bool 本质是整数子类,参与运算等同于 1 和 0
float 转 int直接截断小数,不四舍五入
complex 只能由其他数字转入,不能转出为 int /float