跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 变量与基础数据类型详解

Python 变量用于存储数据,数据类型决定操作方式。涵盖数字、字符串、布尔值等基础类型,以及列表、元组、字典、集合等复合结构。通过代码示例演示声明、访问、修改及类型转换方法,对比各类数据的可变性与有序性特征,帮助开发者快速掌握 Python 数据结构的核心用法与最佳实践。

zhang发布于 2026/3/16更新于 2026/9/760 浏览
Python 变量与基础数据类型详解

Python 变量与基础数据类型

变量和数据类型是编程的基石。在 Python 中,变量充当数据的容器,而数据类型则决定了数据能存储什么、以及如何操作它。理解这两者,是写出健壮代码的第一步。

核心分类概览

Python 的数据类型主要分为两大类:

  • 基本数据类型:包括数字(整数、浮点数、复数)、字符串、布尔值和 None。
  • 复合数据类型:包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。

实战代码示例

为了更直观地理解,我们直接看一段代码。这里没有复杂的文件头,只保留核心逻辑,方便你快速上手。

1. 数字与布尔值
# 整数 (Integer)
age = 25
print(f"年龄:{age} (类型:{type(age)})")

# 浮点数 (Float)
height = 175.5
print(f"身高:{height}cm (类型:{type(height)})")

# 复数 (Complex)
complex_num = 3 + 4j
print(f"复数示例:{complex_num}")

# 布尔值 (Boolean) - 注意它是 int 的子类
is_student = True
is_employed = False
print(f"是学生:{is_student}, 已就业:{is_employed}")
2. 字符串处理

字符串非常灵活,支持单引号、双引号甚至三引号多行文本。

name = '张三'
message = "Hello, World!"
multiline_text = """这是一个
多行字符串示例"""

# f-string 格式化 (推荐方式)
formatted_str = f"姓名:{name}, 年龄:{age}"
print(f"格式化输出:{formatted_str}")
3. 可变与不可变序列

列表和元组是最常用的序列类型,区别在于是否可修改。

# 列表 (List) - 可变
fruits = ['苹果', '香蕉', '橙子']
fruits[1] = '葡萄'  # 可以修改
fruits.append('草莓')
print(f"水果列表:{fruits}")

# 元组 (Tuple) - 不可变
coordinates = (10, 20)
x, y = coordinates  # 解包
print(f"坐标:x={x}, y={y}")
4. 字典与集合

字典用于键值对存储,集合用于去重和数学运算。

# 字典 (Dictionary)
person = {'name': '李四', 'age': 30}
person['occupation'] = '工程师'
print(f"人员信息:{person}")

# 集合 (Set) - 无序且不重复
unique_numbers = {1, 2, 3, 3, 4}
print(f"唯一数字:{unique_numbers}")

set_a = {1, 2, 3}
set_b = {3, 4, 5}
print(f"并集:{set_a | set_b}")
5. 类型转换

不同场景下经常需要转换类型,Python 提供了内置函数。

str_num = "123"
int_num = int(str_num)

num = 456
str_from_num = str(num)

my_list = [1, 2, 3]
my_tuple = tuple(my_list)

print(f"转换后:{int_num}, {str_from_num}, {my_tuple}")

特性对比速查

在实际开发中,选择哪种类型往往取决于需求。下表总结了常见类型的核心差异:

特性列表 (List)元组 (Tuple)字典 (Dict)集合 (Set)
可变性可变不可变可变可变
有序性有序有序有序 (3.7+)无序
重复元素允许允许键不允许不允许
索引方式数字索引数字索引键索引无索引

关键要点总结

  1. 变量即容器:变量名只是指向内存中对象的引用,重新赋值会改变指向。
  2. 类型决定行为:不同数据类型支持的操作不同,例如列表可追加,元组不可变。
  3. 注意可变性陷阱:使用可变对象(如列表)作为默认参数时需格外小心,这会导致意外的副作用。
  4. 类型转换需谨慎:int("abc") 会报错,确保数据格式符合预期。

建议运行上述代码,尝试修改其中的数值或结构,观察输出变化。通过动手实践,你能更快掌握 Python 数据结构的精髓。

目录

  1. Python 变量与基础数据类型
  2. 核心分类概览
  3. 实战代码示例
  4. 1. 数字与布尔值
  5. 整数 (Integer)
  6. 浮点数 (Float)
  7. 复数 (Complex)
  8. 布尔值 (Boolean) - 注意它是 int 的子类
  9. 2. 字符串处理
  10. f-string 格式化 (推荐方式)
  11. 3. 可变与不可变序列
  12. 列表 (List) - 可变
  13. 元组 (Tuple) - 不可变
  14. 4. 字典与集合
  15. 字典 (Dictionary)
  16. 集合 (Set) - 无序且不重复
  17. 5. 类型转换
  18. 特性对比速查
  19. 关键要点总结

更多推荐文章

查看全部
  • Llama-3.2-3B 实战:使用 Ollama 生成营销文案
  • DeepSeek-R1 大模型基于 MS-Swift 框架的部署、推理与微调实践
  • Unitree SDK2 Python 机器人控制接口使用指南
  • Wi-Fi 7 轻量化应用:智能家居与物联网的可落地时代
  • 机器学习九大核心算法详解与原理分析
  • Stable Diffusion 报错修复:CheckpointLoaderSimple 模型加载失败处理
  • OpenClaw 对接飞书机器人配置踩坑:消息无响应与 Gateway 断开排查
  • C++ 图论最短路径算法详解
  • Python 打造 AI 三剑客:文档总结、代码生成与智能检索
  • 企业大模型微调项目落地的关键岗位角色与职责
  • Stable Diffusion XL 与 Z-Image-Turbo 画质对比:实测部署案例
  • Web 自动化测试实战:基于 Python+Selenium 的博客系统测试流程
  • C/C++ 全局变量跨文件访问机制:链接属性与原理
  • IntelliJ IDEA GitLab 登录失败:检查 API Token 或版本兼容性
  • C++ STL list 模拟实现:从底层链表到容器封装
  • OpenClaw 在 Linux 上接入本地 Ollama 的配置记录
  • GitHub Copilot 提示词工程指南:掌握 AI 编程协作核心技巧
  • OpenClaw 中 web_search 与 web_fetch 最佳实践速查
  • Trae AI 安装与使用指南
  • OpenClaw 爆火背后的 AI Agent 破圈真相

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online