【Python程序开发系列】一文搞明白str({“a“: “1“})和“““{“a“: “1“}“““的区别(案例分析)
·
这是我的第464篇原创文章。
一、引言
结论先行
-
str({"a": "1"})得到的是 Python 字典的字符串表示,外层是 单引号,内容符合 Python 语法:'{"a": "1"}'。 -
"""{"a": "1"}"""得到的是 JSON 字符串字面量,外层是 双引号,内容符合 JSON 语法:{"a": "1"}。
二、逐步拆解
2.1 str({"a": "1"})
类型:Python 字典 → 调用内置 str() 转换。
结果:Python 的 repr 风格 字符串,外层单引号,内部键值用单引号包裹(如果键或值是字符串)。
示例:
>>> str({"a": "1"})
"{'a': '1'}" # 注意外层单引号和内部单引号
2.2 """{"a": "1"}"""
类型:三引号字符串字面量,内容直接写死为 JSON 格式。
结果:纯文本,外层无引号,内部键值用双引号(符合 JSON 规范)。
示例:
>>> """{"a": "1"}"""
'{"a": "1"}' # 注意外层无引号,内部双引号
2.3关键区别表

2.4 验证代码
验证代码
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'}
2.5 一句话总结
str(dict) 是 Python 的自描述字符串,而 """{"a": "1"}""" 是 手写 JSON 字符串,二者引号方向和合法性完全不同。
作者简介:
读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。
更多推荐


所有评论(0)