Python3 数据类型(小白版)
·
Python3 中的数据类型是编程的基础,用来定义数据的存储形式和操作规则。Python 是弱类型语言(无需提前声明类型,赋值自动推导),数据类型整体分为基本数据类型和复合数据类型两大类,下面逐一讲解。
一、数据类型总览
Python3 标准数据类型分为:
- 基本数据类型(存单个值):数字、字符串、布尔值、空值
- 复合数据类型(存多个值):列表、元组、字典、集合
二、基本数据类型
1. 数字类型(Numbers)
用来存储数值,分为整型、浮点型、复数型,不可变(修改值会重新创建)。
(1)整型(int)
- 存储整数,无大小限制(支持正整数、负整数、0)
- 支持二进制(0b开头)、八进制(0o开头)、十六进制(0x开头)
a = 10 # 十进制整数
b = -5 # 负整数
c = 0b1010 # 二进制,等于10
d = 0x1a # 十六进制,等于26
print(type(a)) # 查看类型:<class 'int'>
(2)浮点型(float)
- 存储小数,支持科学计数法
x = 3.14 # 普通小数
y = -0.5 # 负小数
z = 2e3 # 科学计数法,等于2000.0
print(type(x)) # <class 'float'>
(3)复数型(complex)
- 存储复数,格式:
实部 + 虚部j(j必须写)
num = 3 + 4j
print(num.real) # 实部:3.0
print(num.imag) # 虚部:4.0
2. 字符串类型(str)
- 存储文本数据,用单引号、双引号、三引号包裹
- 不可变(修改字符串会生成新字符串)
- 支持索引、切片、拼接
# 定义字符串
s1 = 'Hello' # 单引号
s2 = "Python" # 双引号
s3 = '''多行字符串
可以换行写''' # 三引号(支持多行)
# 常用操作
print(s1 + s2) # 拼接:HelloPython
print(s1[0]) # 索引取字符:H
print(s1[1:4]) # 切片:ell
3. 布尔类型(bool)
- 只有两个值:True(真)、False(假)
- 本质是int的子类(True=1,False=0)
- 常用于条件判断、循环控制
is_student = True
is_teacher = False
print(1 > 2) # 条件判断返回False
print(True + 1)# 结果:2
4. 空值类型(NoneType)
- 只有一个值:None,表示空、无、未赋值
- 不等于0、空字符串、False,是独立类型
data = None
print(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]) # 索引取值:python
2. 元组(tuple)
- 有序、不可变序列,用
()包裹 - 一旦定义,不能修改元素(比列表更安全)
- 只有1个元素时,必须加逗号:
(1,)
# 定义元组
tpl = (10, "java", 2.5)
# 取值(和列表一致)
print(tpl[0]) # 10
# 尝试修改会报错!
# tpl[0] = 20 # 报错:TypeError
3. 字典(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)
- 日常开发:列表存有序数据、字典存键值对、字符串存文本、数字存数值
更多推荐


所有评论(0)