
🌈个人主页:聆风吟_
🔥系列专栏:Python编程日志、C标准库
🔖少年有梦不应止于心动,更要付诸行动。
文章目录
- 📋前言
-
- 一、查看数据类型
-
- [1.1 type():精准查看数据类型](#1.1 type():精准查看数据类型)
- [1.2 isinstance():判断是否属于某类类型](#1.2 isinstance():判断是否属于某类类型)
- 二、标准数据类型
- 三、数字类型(Number)
-
- [3.1 int 整数](#3.1 int 整数)
- [3.2 float 浮点数](#3.2 float 浮点数)
- [3.3 bool 布尔类型](#3.3 bool 布尔类型)
- 四、字符串(string)
- 五、列表(List)
- 六、元组(Tuple)
- 七、字典(Dictionary)
- 八、集合(Set)
- 📝全文总结
📋前言
回顾前文变量、常量、表达式知识点,变量只是存放数据的 "标签",而存入的数据拥有各自的格式、运算规则和存储特性,这就是数据类型。
Python 内置了一套完整的基础数据类型,不用额外安装模块就能直接使用。本文做全局梳理、分类对比,搭建完整知识框架,后续会针对每一种类型单独拆解语法、常用方法、踩坑细节与实战用法。
一、查看数据类型
1.1 type():精准查看数据类型
使用内置函数 type() 查看任意变量 / 字面量的数据类型。
python
num = 18
print(type(num)) # <class 'int'>
1.2 isinstance():判断是否属于某类类型
使用内置函数 isinstance(待判断对象, 类型) 判断某个变量 ,是不是指定类型,返回 True / False。
python
num = 10
print(isinstance(num, int)) # True
print(isinstance(num, str)) # False
s = "python"
print(isinstance(s, str)) # True
二、标准数据类型
Python 基础数据类型按 是否可变 可分为两大类:
(1)不可变类型:
值无法原地修改,修改操作会生成全新对象,包括:Number(数字)、String(字符串)、Tuple(元组)
python
# 1. int整数
a = 10
print(id(a))
a = a + 5 # 看似修改,实际新建对象
print(id(a)) # 地址不一样
# 2. 字符串str
s = "hello"
print(id(s))
s += "world"
print(id(s)) # 地址改变
# 3. 元组tuple
t = (1, 2, 3)
print(id(t))
t = t + (4)
print(id(t)) # 地址改变
📌小贴士:
id()函数返回对象在内存中的唯一地址数字。
(2)可变类型:
值可以原地修改,修改后内存地址不变,包括:List(列表)、Dictionary(字典)、Set(集合)
python
# 1.列表
lst = [1,2,3]
print(id(lst))
lst.append(4) # 原地追加元素
lst[0] = 99 # 索引修改元素
print(id(lst)) # 地址完全不变
# 2.字典
d = {"name":"小明"}
print(id(d))
d["age"] = 18
print(id(d)) # 地址不变
# 3.集合
s = {1,2,3}
print(id(s))
s.add(4)
print(id(s)) # 地址不变
三、数字类型(Number)
数字类型细分 3 种子类型,专门用于数学计算:
3.1 int 整数
核心特点:
-
可以存储 正负整数 和 0
-
Python3 无长整型限制
python
a = 10
b = -66
c = 0
d = 9999999999999999999999999999
print(type(a)) # 输出:<class 'int'>
📌小贴士: Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据.
3.2 float 浮点数
核心特点:
-
表示带小数的数字,支持科学计数法;
-
采用双精度存储;
-
存在精度损耗,不适合高精度金额计算
python
f1 = 3.14
f2 = -0.618
f3 = 5e3 # 5*10^3 = 5000.0
print(type(f1)) # 输出:<class 'float'>
3.3 bool 布尔类型
核心特点:
-
只有两个值:
True、False -
本质是特殊整数(int 子类),
True = 1,False = 0 -
True和False首字母切记要大写
python
# 取值只有两种:True 和 False
flag1 = True
flag2 = False
# True = 1,False = 0
print(True + 5) # 6
# 本质是 int 子类
print(isinstance(True, int)) # True
print(type(flag1)) # <class 'bool'>
四、字符串(string)
使用 单引号''、双引号""、三引号"""""" 包裹的文本内容,称为字符串
核心特点:
-
不可变 ,不能单独修改某一个字符,
s[0]='x'直接报错 -
支持拼接、切片、长度获取等操作
-
用来存储文字、符号、中文等文本信息
python
# 单引号
s1 = 'hello'
# 双引号(可直接嵌套单引号,避免转义)
s2 = "I'm Python"
# 三引号:多行字符串(支持换行,常用于多行文本、文档注释)
s3 = """第一行
第二行"""
# 原始字符串(r 前缀,取消转义字符)
s4 = r'C:\Users\name' # \ 不会被识别为转义符
print(type(s1)) # 输出:<class 'str'>
五、列表(List)
列表是有序 、可变的元素序列,是 Python 最灵活、最常用的通用容器
核心特点:
-
使用 方括号
[]定义 -
可存放任意类型数据
-
支持任意类型元素增、删、改、查
python
lst = [10, "张三", 3.14]
lst[0] = 99 # 修改元素,合法
print(type(lst)) # 输出:<class 'list'>
六、元组(Tuple)
元组是有序 、不可变的元素序列,可以理解为只读版本的列表。
核心特点:
-
使用 圆括号
()定义 -
元素一旦定义不能修改,安全性更高
python
t = (1, 2, "abc")
# t[0] = 5 报错,不允许修改
print(type(t)) # 输出:<class 'tuple'>
七、字典(Dictionary)
字典是键值对({key:value})映射类型,是 Python 查询效率最高的容器。
-
使用 大括号
{key:value}定义 -
key:必须不可变类型(int/str/tuple),唯一不重复
-
value:任意数据类型
python
dic = {"name":"李四", "age":22, "score":[90,88]}
# 取值
print(dic["name"])
print(type(user)) # 输出:<class 'dict'>
八、集合(Set)
集合是无序 、不重复的元素容器,底层基于哈希表实现。
-
使用 大括号
{元素}定义 -
元素唯一,自动去重
-
常用作去重、交集并集运算
python
s = {1,2,2,3,3,3}
print(s) # {1, 2, 3} 自动去重
print(type(s)) # 输出:<class 'set'>
📝全文总结
本文主要讲解:
-
type()查看类型、isinstance()判断是否属于某类类型; -
Python 基础类型分为数字、字符串、元组、列表、字典、集合;
-
可变 / 不可变是选类型关键依据,修改频繁优先列表,数据固定优先元组;
-
本文为总览导航文,后续会逐个类型拆解完整实操教程。
今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
