Python 数据类型核心笔记

这是一份详细的 Python 数据类型学习笔记,涵盖了从基础到核心的概念,适合保存复习。


🐍 Python 数据类型核心笔记

在 Python 中,变量不需要显式声明类型,类型是在赋值 时自动确定的。我们可以使用 type() 函数来查看变量的数据类型。


1. 数字类型 (Numeric Types)

用于存储数值。

  • 整型 (int) : 整数,可以是正数、负数或零。Python 3 的 int 是长整型,没有大小限制。
    • 示例 : a = 10, b = -5
  • 浮点型 (float) : 带有小数点的数字,也可以用科学计数法表示。
    • 示例 : pi = 3.14, price = 9.99, e = 2e3 (即 2000.0)
  • 复数 (complex) : 包含实部和虚部。
    • 示例 : c = 3 + 4j

2. 布尔类型 (Boolean Type)

用于逻辑判断。

  • bool : 只有两个值:TrueFalse
  • 注意 : Python 中很多对象在布尔语境下为 False(如 0, None, [], {}, ""),其余通常为 True

3. 序列类型 (Sequence Types)

有序的数据集合。

① 字符串 (str)

  • 定义 : 使用单引号 ' '、双引号 " " 或三引号 ''' ''' 包裹的文本。
  • 特性 : 不可变 (Immutable)
  • 示例 : name = "Python"

② 列表 (list)

  • 定义 : 使用方括号 [],元素以逗号分隔。
  • 特性 : 有序、可变 (Mutable),可以包含不同类型的元素。
  • 示例 : fruits = ["apple", 123, True]

③ 元组 (tuple)

  • 定义 : 使用圆括号 ()
  • 特性 : 有序、不可变 (Immutable)。常用于保护数据不被修改。
  • 示例 : coordinates = (10, 20)

4. 映射类型 (Mapping Type)

键值对的集合。

字典 (dict)

  • 定义 : 使用花括号 {},由 key: value 组成。
  • 特性: 键必须是唯一的且不可变,查找速度极快。
  • 示例 : user = {"name": "Jojo", "age": 25}

5. 集合类型 (Set Types)

无序且不重复的元素集合。

集合 (set)

  • 定义 : 使用花括号 {}set()
  • 特性 : 无序、元素唯一。常用于去重和数学运算(交集、并集)。
  • 示例 : unique_nums = {1, 2, 2, 3} # 结果为 {1, 2, 3}

6. 特殊类型 (NoneType)

  • None : 表示空值或不存在的值,类似于其他语言的 null

7. 核心概念对比

A. 可变 vs 不可变 (Mutability)

这是理解 Python 赋值和函数传参的关键。

类型 是否可变
int, float, str, tuple 不可变 (修改会创建新对象)
list, dict, set 可变 (可以直接修改原对象)

B. 常用类型转换函数

  • int(x): 转换为整数
  • float(x): 转换为浮点数
  • str(x): 转换为字符串
  • list(x): 转换为列表
  • tuple(x): 转换为元组
  • set(x): 转换为集合

8. 小技巧:检查类型

python 复制代码
x = [1, 2, 3]

# 1. 打印类型
print(type(x))  # <class 'list'>

# 2. 判断是否属于某种类型 (推荐做法)
if isinstance(x, list):
    print("这是一个列表")

学习建议 : 初学者应重点掌握 List、Dict、Str 的操作,因为它们在实际开发(如数据处理、Web开发)中占了 80% 的使用频率。

相关推荐
学测绘的小杨13 小时前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz31020 小时前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐20 小时前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱1 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海2 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱2 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱2 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理