Python3 数据类型(小白版)
Python3 中的数据类型是编程的基础,用来定义数据的存储形式和操作规则。Python 是弱类型语言(无需提前声明类型,赋值自动推导),数据类型整体分为基本数据类型和复合数据类型两大类,下面逐一讲解。
一、数据类型总览
Python3 标准数据类型分为:
- 基本数据类型(存单个值):数字、字符串、布尔值、空值
- 复合数据类型(存多个值):列表、元组、字典、集合
二、基本数据类型
1. 数字类型(Numbers)
用来存储数值,分为整型、浮点型、复数型,不可变(修改值会重新创建)。
(1)整型(int)
- 存储整数,无大小限制(支持正整数、负整数、0)
- 支持二进制(0b开头)、八进制(0o开头)、十六进制(0x开头)
a=10# 十进制整数b=-5# 负整数c=0b1010# 二进制,等于10d=0x1a# 十六进制,等于26print(type(a))# 查看类型:<class 'int'>(2)浮点型(float)
- 存储小数,支持科学计数法
x=3.14# 普通小数y=-0.5# 负小数z=2e3# 科学计数法,等于2000.0print(type(x))# <class 'float'>(3)复数型(complex)
- 存储复数,格式:
实部 + 虚部j(j必须写)
num=3+4jprint(num.real)# 实部:3.0print(num.imag)# 虚部:4.02. 字符串类型(str)
- 存储文本数据,用单引号、双引号、三引号包裹
- 不可变(修改字符串会生成新字符串)
- 支持索引、切片、拼接
# 定义字符串s1='Hello'# 单引号s2="Python"# 双引号s3='''多行字符串 可以换行写'''# 三引号(支持多行)# 常用操作print(s1+s2)# 拼接:HelloPythonprint(s1[0])# 索引取字符:Hprint(s1[1:4])# 切片:ell3. 布尔类型(bool)
- 只有两个值:True(真)、False(假)
- 本质是int的子类(True=1,False=0)
- 常用于条件判断、循环控制
is_student=Trueis_teacher=Falseprint(1>2)# 条件判断返回Falseprint(True+1)# 结果:24. 空值类型(NoneType)
- 只有一个值:None,表示空、无、未赋值
- 不等于0、空字符串、False,是独立类型
data=Noneprint(type(data))# <class 'NoneType'>三、复合数据类型
1. 列表(list)
- 最常用的有序、可变序列,用
[]包裹 - 可存储不同类型的数据(数字、字符串、列表等)
- 支持增删改查操作
# 定义列表lst=[1,"python",3.14,True]# 常用操作lst[0]=100# 修改元素:[100, "python", 3.14, True]lst.append(5)# 末尾添加元素print(lst[1])# 索引取值:python2. 元组(tuple)
- 有序、不可变序列,用
()包裹 - 一旦定义,不能修改元素(比列表更安全)
- 只有1个元素时,必须加逗号:
(1,)
# 定义元组tpl=(10,"java",2.5)# 取值(和列表一致)print(tpl[0])# 10# 尝试修改会报错!# tpl[0] = 20 # 报错:TypeError3. 字典(dict)
- 无序(3.7+有序)、可变的键值对集合,用
{}包裹 - 键(key)必须唯一、不可变(int/str/tuple),值(value)可任意类型
- 按键快速取值,效率最高
# 定义字典(键: 值)person={"name":"张三","age":20,"is_student":True}# 常用操作print(person["name"])# 取值:张三person["age"]=21# 修改值person["gender"]="男"# 添加键值对4. 集合(set)
- 无序、不重复的集合,用
{}包裹(空集合必须用set()) - 自动去重,支持交集、并集、差集运算
- 不能存储可变类型(列表、字典)
# 定义集合(自动去重)s={1,2,2,3,"python"}print(s)# {1,2,3,"python"}# 集合运算a={1,2,3}b={3,4,5}print(a&b)# 交集:{3}print(a|b)# 并集:{1,2,3,4,5}四、核心知识点:可变 vs 不可变类型
- 不可变类型:修改值会创建新对象,原数据不变
- int、float、str、bool、tuple、None
- 可变类型:直接修改原数据,不创建新对象
- list、dict、set
五、常用类型判断与转换
1. 查看数据类型:type()
print(type(10))# <class 'int'>print(type([1,2]))# <class 'list'>2. 类型转换
# 转整型int("10")# 10# 转字符串str(123)# "123"# 转列表list((1,2))# [1,2]# 转布尔值bool(0)# False总结
- Python3 数据类型分基本类型(int/float/str/bool/None)和复合类型(list/tuple/dict/set)
- 核心区别:可变(list/dict/set)vs不可变(int/str/tuple)
- 日常开发:列表存有序数据、字典存键值对、字符串存文本、数字存数值
