这是我的第464篇原创文章。
『数据杂坛』以Python语言为核心,垂直于数据科学领域,专注于(可戳👉)Python程序设计|数据分析|特征工程|机器学习分类|机器学习回归|深度学习分类|深度学习回归|单变量时序预测|多变量时序预测|语音识别|图像识别|自然语音处理|大语言模型|软件设计开发等技术栈交流学习,涵盖数据挖掘、计算机视觉、自然语言处理等应用领域。(文末有惊喜福利)

一、引言
str({"a": "1"}) 得到的是 Python 字典的字符串表示,外层是 单引号,内容符合 Python 语法:'{"a": "1"}'。
"""{"a": "1"}""" 得到的是 JSON 字符串字面量,外层是 双引号,内容符合 JSON 语法:{"a": "1"}。
二、逐步拆解
str({"a": "1"})类型:Python 字典 → 调用内置 str() 转换。
结果:Python 的 repr 风格 字符串,外层单引号,内部键值用单引号包裹(如果键或值是字符串)。
示例:
>>> str({"a": "1"})"{'a': '1'}" # 注意外层单引号和内部单引号
"""{"a": "1"}"""类型:三引号字符串字面量,内容直接写死为 JSON 格式。
结果:纯文本,外层无引号,内部键值用双引号(符合 JSON 规范)。
示例:
>>> """{"a": "1"}"""'{"a": "1"}' # 注意外层无引号,内部双引号
关键区别表
验证代码
import json# 1. str(dict) 的结果py_str = str({"a": "1"})print(py_str) # {'a': '1'}print(json.loads(py_str)) # 报错:JSON 必须双引号# 2. 三引号字符串json_str = """{"a": "1"}"""print(json_str) # {"a": "1"}print(json.loads(json_str)) # 成功解析:{'a': '1'}
str(dict) 是 Python 的自描述字符串,而 """{"a": "1"}""" 是 手写 JSON 字符串,二者引号方向和合法性完全不同。
作者简介:
读研期间发表6篇SCI数据算法相关论文,目前在某研究院从事数据算法相关研究工作,结合自身科研实践经历不定期持续分享关于Python、数据分析、特征工程、机器学习、深度学习、人工智能系列基础知识与案例。
致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。
1、关注下方公众号,点击“领资料”即可免费领取电子资料书籍。
2、文章底部点击喜欢作者即可联系作者获取相关数据集和源码。
3、数据算法方向论文指导或就业指导,点击“联系我”添加作者微信直接交流。
4、有商务合作相关意向,点击“联系我”添加作者微信直接交流。

