V
主页
【提升Python技能】创建高效的字典 漂亮地打印字典
发布人
大多数开发人员在某些时候不得不费力地在打印语句的帮助下调试他们的代码以跟踪控制流。字典在语法上是优雅的,无论是为了调试,还是为了从应用程序记录到文件中,如何让字典的输出同样的优雅?默认情况下,Python 将字典打印在一行中,并且不保留缩进。当字典很大并且存储复杂的数据时,通常打印它们的易读性会降低。 借助 Python 中的内置 json 模块,简单地使用 json.dumps() 可以漂亮地打印具有更结构化格式的字典,使输出更清晰。json 包中的方法仅适用于 dict 仅包含原始数据类型的情况。如果您在字典中存储诸如函数之类的实体,就不能处理了。使用 json.dumps() 的另一个缺点是它不能字符串化复杂的数据类型,比如集合。 Python 中漂亮打印此类结构化对象的另一个经典解决方案是内置的 pprint 模块。您可以看到 pprint 能够打印集合之类的数据类型,并且它以可重现的顺序打印字典key。但是,与 json.dumps() 相比,它在视觉上并不能很好地表示嵌套结构。 PyYaml模块也可以打印出漂亮的字典结构。 我们应该首选使用 json.dumps() 打印字典,因为它提高了可读性和格式,但前提是确定它们没有非原始数据类型。
打开封面
下载高清视频
观看高清视频
视频下载器
【提升Python技能】创建高效的字典 使用 defaultdict 缺失键的默认值
【提升Python技能】创建高效的字典 合并字典的方法
【提升Python技能】创建高效的字典 ChainMap
【提升Python技能】 Python类的约定 classmethod
【提升Python技能】其他数据结构 SimpleNamespace的属性默认值让开发简单
【提升Python技能】 Python类的约定 理想的类结构
【提升Python技能】创建高效的字典 在检索dict值时提供默认参数
【提升Python技能】Python的布局
【提升Python技能】 设计模式 门面模式
【提升Python技能】装饰器 (一) 函数的装饰器
【提升Python技能】装饰器 (三) 其他装饰器
【提升Python技能】 数据类 (四) 数据类的剖析 Docker镜像优化
【提升Python技能】装饰器 (二) 类的装饰器
【提升Python技能】 模块与元编程 (十二) 元类 Metaclass
【提升Python技能】 Python类的约定 类属性的public vs private
【提升Python技能】 设计模式 代理模式
【提升Python技能】 模块与元编程 (五) Namespace Packages
【提升Python技能】 对象的Properties和Attributes 可调用对象
【提升Python技能】 模块与元编程 (六) importlib.resources 访问包内资源
【提升Python技能】 模块与元编程 (二) import基础分析
【提升Python技能】上下文管理器 Context Managers
【提升Python技能】装饰器 (四) 带参数的装饰器
【提升Python技能】 数据类 (十二) 数据类的剖析 field
【提升Python技能】 对象的Properties和Attributes 动态处理对象属性
【提升Python技能】 Python的super MRO
【提升Python技能】 认识生成器generator与yield (一)原理解析
【提升Python技能】 编程思想 Immutability vs Mutability
【提升Python技能】 更多Pythonic类约定 自定义异常类
【提升Python技能】对象的Properties和Attributes 可迭代对象及其创建
【提升Python技能】 对象的Properties和Attributes __str__与__repr__
用Pythonic的方式全方位提升Python技能 Pythonic代码的简介 Python代码整洁的重要性
【提升Python技能】创建高效的字典 奇怪的表达式!?
用Pythonic的方式全方位提升Python技能 Jupyterlab插件安装与状态持久化
还认为Python是玩具语言么?用Pythonic的方式全方位提升Python技能 简介与用Docker搭建学习环境
【提升Python技能】集合处理 理解和使用数学集合运算
【提升Python技能】 更多Pythonic类约定 类与实例变量的陷阱
【提升Python技能】 模块与元编程 (九) Import Hook HTTP远程导入
【提升Python技能】其他数据结构 LifoQueue的并行计算锁语义
用Pythonic的方式全方位提升Python技能 注解 annotations
【提升Python技能】 更多Pythonic类约定 封装的故事 (二)类的解耦