Python 对象转换详解

掌握 Python 中各类对象之间的灵活转换方法

什么是对象转换?

在 Python 编程中,对象转换(Object Conversion)是指将一种数据类型或对象形式转换为另一种的过程。常见场景包括:

1. 基本类型转换

Python 提供了内置函数用于基本类型转换:

# 字符串转整数
num = int("123")

# 整数转字符串
text = str(456)

# 列表转元组
tup = tuple([1, 2, 3])

# 字典键转列表
keys = list({"a": 1, "b": 2}.keys())

2. JSON 序列化与反序列化

使用标准库 json 模块可将 Python 对象(如 dict、list)与 JSON 字符串互相转换。

import json

# Python 对象 → JSON 字符串
data = {"name": "Alice", "age": 30}
json_str = json.dumps(data)
print(json_str)  # {"name": "Alice", "age": 30}

# JSON 字符串 → Python 对象
obj = json.loads(json_str)
print(obj["name"])  # Alice
注意: json 模块仅支持基本数据类型(dict, list, str, int, float, bool, None)。自定义类需先转换为字典。

3. 使用 pickle 进行对象持久化

pickle 模块可序列化几乎任意 Python 对象(包括自定义类),但仅限 Python 环境使用。

import pickle

class Person:
    def __init__(self, name):
        self.name = name

p = Person("Bob")

# 序列化到字节
serialized = pickle.dumps(p)

# 反序列化还原对象
restored = pickle.loads(serialized)
print(restored.name)  # Bob
安全警告: 不要反序列化来自不可信来源的 pickle 数据,可能存在代码执行风险。

4. 自定义对象转换方法

通过实现特殊方法(如 __str__, __repr__, __dict__)控制对象如何被转换。

class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

    def __str__(self):
        return f"{self.title} by {self.author}"

    def to_dict(self):
        return {"title": self.title, "author": self.author}

book = Book("Python指南", "张三")
print(str(book))          # Python指南 by 张三
print(book.to_dict())     # {'title': 'Python指南', 'author': '张三'}

5. 实用工具函数示例

以下是一个通用的对象转字典函数,适用于大多数简单类:

def obj_to_dict(obj):
    if hasattr(obj, "__dict__"):
        return obj.__dict__
    elif isinstance(obj, (list, tuple)):
        return [obj_to_dict(item) for item in obj]
    elif isinstance(obj, dict):
        return {k: obj_to_dict(v) for k, v in obj.items()}
    else:
        return obj

# 使用示例
book = Book("学习Python", "李四")
print(obj_to_dict(book))
# 输出: {'title': '学习Python', 'author': '李四'}
文章AI写作神器哪个好用免费?2026年免费AI写作工具推荐 论文查重率检测软件推荐 | 专业学术查重工具使用指南 AI英文论文写作软件评测 | 2026年最佳工具推荐 AI长度测量技术详解 | 文本分析工具与AIGC检测方法 免费AI论文创作指南 - 智能写作与降AIGC工具应用 反AI创作:保护原创性,抵制AI生成内容的泛滥 | 反AI创作专题 论文写作AI翻译详解 - 智能翻译技术如何辅助学术研究 语音翻译对话神器 - 实时多语种语音翻译与对话解决方案 专利会影响论文查重吗?论文查重与专利关系详解 AI检测AI论文:原理、工具与解决方案 | 学术诚信专题 知识产权AI人工智能软件专题 - 智能IP保护与创新工具 论文AI必须要查吗?| AI检测的必要性与小发猫降AIGC工具详解 WPS论文全文错别字校对工具 - 专业论文查错与修改指南 如何运用AI免费写代码 - AI编程工具使用指南与技巧 智能AI写作助手手机版 - 移动端AI创作与降AIGC工具使用指南 论文检测能检测流程图内的文字吗?深度解析与解决方案 论文AI风险与学术不端专题 | AI写作的伦理边界与应对方案 怎么用AI写论文摘要 | AI辅助学术写作指南 AI工具写文章:效率革命与内容优化解决方案 AI自动生成写作软件免费大全 | 免费AI写作工具推荐与降AIGC指南 好用的论文写作AI工具推荐 | 智能辅助写作与降AIGC指南 知网论文查重报告详解 - 如何看懂查重结果与降低重复率 哪个手机AI写文章最好用?2026年主流AI写作工具深度评测 学术论文检测 | 专业AI生成内容检测与降AIGC工具使用指南 学校毕业论文查重指南:自建库的作用与应对策略 | 论文查重专题 论文跑单怎么处理?- 专业解决方案与预防指南 本科毕业论文写作指南:论文字数要求与降AIGC工具使用 野外洪涝地质灾害风险隐患排查指南 | 专业地质灾害防范专题 防AI查重免费软件推荐 | 小发猫降AIGC工具使用指南 AIGC降重有什么方法吗?| 小发猫AI降重工具使用指南 哪个AI可以写方案?2026年最佳AI方案生成工具对比 | 小发猫降AIGC工具介绍 AI语音内容总结工具 | 高效处理语音数据,小发猫降AIGC解决方案 AI写论文网站推荐三款 | 高效学术AI工具对比与使用指南 AI写作软件免费版有哪些?2026年推荐8款免费AI写作工具 网上用AI生成视频靠谱吗?| AI视频工具全面解析 如何用AI做设计概念方案 | AI设计工具与降AIGC检测指南 AI生成开题报告会被查出来吗?- 学术写作与AI检测全解析 论文泄露的危害与防范措施 | 学术安全专题 如何修改AI文件中已编辑的文字 | AI文件编辑与降AIGC工具指南 文章怎么去除AI痕迹 | 专业AI内容优化与降重技巧 论文发表防骗指南 - 如何避免学术投稿上当受骗 论文怎么删除修订痕迹 | 完整操作指南与AI内容处理技巧 论文查重合格后如何高效修改格式 | 学术论文格式规范指南 自媒体免费AI自动生成文章全攻略 | 高效内容创作与AIGC降重指南 免费测论文查重率软件推荐 | 专业工具与AI降重方案 AI能否自动查找错别字?全面解析AI错别字检查技术 | 文本校对专题 如何用AI做文献分析:高效方法与工具指南 | 学术研究智能化 暴雨洪涝灾情等级划分标准详解 | 防灾减灾知识专题 学术论文写作指南:如何高效查找论文参考文献 | 学术资源专题 论文去重软件免费 | 高效降低重复率与AIGC风险的专业工具指南 好用的论文检测软件推荐 | 学术诚信与原创性保障工具 2026年本科论文写作全攻略 | 降AIGC/AI率技巧与工具指南 最好用的AI文字工具推荐 | 智能写作与降AIGC解决方案 论文查重率从76%降到25%的实用技巧 | 学术写作降重指南 AI生成内容专题:技术、应用与降AIGC工具指南 人工智能算法论文专题 | 前沿算法研究、AI论文写作与AIGC检测指南 如何让AI降低AIGC指令 - 小发猫降AIGC工具使用指南 本科论文倒查年限详解 | 查重规则与降AIGC技巧 网上AI视频用什么软件?2026年最佳AI视频制作工具推荐 AI智能翻译技术专题 - 从机器翻译到智能本地化解决方案 AI毕业照配音专题 - 智能配音技术与AIGC检测工具应用 AI学习写作文章全攻略 | 从入门到精通的人工智能写作指南 AI人工智能相片处理 | AI图片编辑工具与应用指南 论文万字差错率怎么降低 | 学术论文差错率降低方法与工具 毕业论文修改目录操作方法全攻略 | 快速生成规范目录指南 AI代写好学吗?- 小发猫降AIGC工具使用指南 论文修订删除线技巧与AI内容降重指南 | 学术写作必备工具 论文检测网站哪个最好?2026年权威评测与推荐指南 AI智能识别功能测试专题 - 技术解析与工具应用指南 本科毕业论文降重全攻略 | 高效降低重复率方法与工具推荐 为什么自己写的论文AIGC率高?原因分析与解决方案 | 学术写作专题 论文查重怎么查AI?AI率检测与降AIGC工具全攻略 AI辅助写作完全指南:提升创作效率与内容质量 | 小发猫降AIGC工具应用 什么软件可以查AI?专业AI检测工具与降AIGC工具推荐 晋职称论文写作与发表全攻略 | 高质量学术论文指南 淘宝AI识别技术详解 - 原理、应用与AIGC内容检测工具 论文查重工具全攻略 | 高效降低重复率与AIGC率的方法 AI能写作吗?探讨人工智能写作能力与降AIGC工具使用 大学论文AIGC检测率合格标准详解 | 学术诚信指南 本科论文等级评定标准与写作指南 - 提升论文质量的关键要素 使用AI写小说赚钱指南 | AI小说创作与变现专题 医学AI文章生成器 - 智能医学内容创作解决方案 | 降低AI率工具推荐 AI智能软件写论文指南 | 高效工具与降AIGC方法 如何用AI提升效率:实用指南与工具推荐 | AI助力工作学习 论文模板去水印专业指南 | 高效去除文档水印方法大全 AI智能生成短视频软件 | 一键创作优质短视频内容 格子达论文通过了能改吗?论文修改指南与降AIGC工具介绍 论文复写率高如何降重 | 专业降重方法与工具推荐 本科论文泄露了怎么办?应对指南与解决方案 | 学术保护专题 论文查重笑话 | 查重趣闻与降AIGC工具使用指南 怎么用AI做文字立体感 - AI文字效果设计与降AIGC方法 怎样用AI写总结报告 - AI写作与降AIGC工具使用指南 本科毕业论文查重报告全解析 | 从检测到降重一站式指南 AI润色论文指南:技巧、争议与降AIGC工具使用 | 学术写作专题 论文检测软件大全 | 专业查重、降重工具推荐与使用指南 论文批注和修订怎么全部删除 - 详细图文教程与工具推荐 本科学位论文AI检测与降AIGC工具指南 | 小发猫使用教程 文章AI检测专题 - 如何检测与降低文章AI率,提升内容原创性 不同专业论文降重多离谱 | 论文降重技巧与工具 翻译软件算AI检测吗?- 解析AI内容检测与翻译工具的关系