当前位置:首页 > 科技  > 软件

Python基础:格式化输出

来源: 责编: 时间:2024-01-09 08:52:56 429观看
导读哈喽,大家好,我是了不起。在平时使用python编写代码时,控制台打印结果变量是必不可少的,而且很多初学者都会很频繁的使用python自带的print()方法在代码中打桩,以判断自己的代码逻辑获取值是正确的。但是在代码中如果需要

哈喽,大家好,我是了不起。gd328资讯网——每日最新资讯28at.com

在平时使用python编写代码时,控制台打印结果变量是必不可少的,而且很多初学者都会很频繁的使用python自带的print()方法在代码中打桩,以判断自己的代码逻辑获取值是正确的。gd328资讯网——每日最新资讯28at.com

gd328资讯网——每日最新资讯28at.com

但是在代码中如果需要打印的字段中的数值非常多的时候,使用print()打印的话就会显得很凌乱,比如下面这种场景。gd328资讯网——每日最新资讯28at.com

data = [{"first": "第一个值", "second": "第二个值", "third": "第三个值", "fourth": "第四个值", "fifth": "第五个值", },        {"first": [1, 2, 2, 3, 66, 765], "second": {"first":"1","second":"2","third":"3",}, "third": {"first":"1","second":"2","third":"3",}, "fourth": [1,2,3,4,5,], "fifth": ["frist",{"second":{"1":2,"2":"3"}}]}]

定义一个data变量赋值了一个典型的多维列表,然后每个字典中有多个键值对,这个时候使用print()方法打印:gd328资讯网——每日最新资讯28at.com

>>> print(data)#输出结果为>>> [{'first': '第一个值', 'second': '第二个值', 'third': '第三个值', 'fourth': '第四个值', 'fifth': '第五个值'}, {'first': [1, 2, 2, 3, 66, 765], 'second': {'first': '1', 'second': '2', 'third': '3'}, 'third': {'first': '1', 'second': '2', 'third': '3'}, 'fourth': [1, 2, 3, 4, 5], 'fifth': ['frist', {'second': {'1': 2, '2': '3'}}]}]

使用print()打出来的结果直接会显示成为一条并且看起来会很凌乱,而且在pycharm工具中会显示成很长的一条数据,如果这个字典中的多维层级在多一些,我们想要取某一个关键值的就会很麻烦。gd328资讯网——每日最新资讯28at.com

接下来给大家介绍两个其他的打印方法,分别为pprint和ic。gd328资讯网——每日最新资讯28at.com

一、pprint

pprint(pretty-print)是 Python 标准库中的一个模块,可以将 Python 对象以一种可读性更高的格式打印出来。比起print()函数可以更好的处理复杂的数据结构,例如嵌套的列表、字典等。这里还是以上方的data变量为例,首先使用from pprint import pprint导入pprint,然后使用pprint()方法打印出来的结果如下。gd328资讯网——每日最新资讯28at.com

>>> pprint(data)#输出结果为>>> [{'fifth': '第五个值',      'first': '第一个值',      'fourth': '第四个值',      'second': '第二个值',      'third': '第三个值'},     {'fifth': ['frist', {'second': {'1': 2, '2': '3'}}],      'first': [1, 2, 2, 3, 66, 765],      'fourth': [1, 2, 3, 4, 5],      'second': {'first': '1', 'second': '2', 'third': '3'},      'third': {'first': '1', 'second': '2', 'third': '3'}}]

可以清晰的看见,pprint()将打印的结果做了一个格式化的操作,将列表中每个字典键值进行分行显示,使字典的结构显示更加清晰,提高了可阅读性。gd328资讯网——每日最新资讯28at.com

同时pprint()还有一些高级用法,我们可以定义打印数据的缩进、设置输出宽度等。gd328资讯网——每日最新资讯28at.com

1.设置缩进

pprint()方法中有一个设置缩进的indent参数,如果想要每个层级之间缩进2个空格,则设置indent=2即可,示例如下gd328资讯网——每日最新资讯28at.com

>>> pprint(data,indent=2)#输出结果为>>> [ { 'fifth': '第五个值',               'first': '第一个值',       'fourth': '第四个值',       'second': '第二个值',       'third': '第三个值'},     { 'fifth': ['frist', {'second': {'1': 2, '2': '3'}}],      'first': [1, 2, 2, 3, 66, 765],      'fourth': [1, 2, 3, 4, 5],      'second': {'first': '1', 'second': '2', 'third': '3'},      'third': {'first': '1', 'second': '2', 'third': '3'}}]

可以看见设置indent=2之后,pprint()将打印出的数据每个层级之间都缩进2个空格,这样在平时打印工作中合理设置一个缩进空格可以更加直观的阅读每个层级。gd328资讯网——每日最新资讯28at.com

2.设置宽度

pprint ()默认的输出宽度为 80 个字符,可以通过设置 width 参数来更改输出宽度。示例如下:gd328资讯网——每日最新资讯28at.com

>>> pprint(data,width=40)#输出结果为>>> [{'fifth': '第五个值',      'first': '第一个值',      'fourth': '第四个值',      'second': '第二个值',      'third': '第三个值'},     {'fifth': ['frist',                {'second': {'1': 2,                            '2': '3'}}],      'first': [1, 2, 2, 3, 66, 765],      'fourth': [1, 2, 3, 4, 5],      'second': {'first': '1',                 'second': '2',                 'third': '3'},      'third': {'first': '1',                'second': '2',                'third': '3'}}]

设置输出宽度后可以看到pprint()将打印的数据中每一个字典的键值都分行显示了。gd328资讯网——每日最新资讯28at.com

gd328资讯网——每日最新资讯28at.com

二、ic

ic模块取之于icecream库,它是一个python第三方库,在使用去需要下载icecream库并导入:gd328资讯网——每日最新资讯28at.com

#pip安装icecream库pip install icecream#导入ic模块from icecream import ic

使用ic()方法打印对象数据时,它也是可以将数据进行格式化后打印出来最终的结果,数据格式化这一点和pprint()基本是相同的:gd328资讯网——每日最新资讯28at.com

>>> ic(data)#输出结果为>>> ic| data: [{'fifth': '第五个值',                'first': '第一个值',                'fourth': '第四个值',                'second': '第二个值',                'third': '第三个值'},               {'fifth': ['frist', {'second': {'1': 2, '2': '3'}}],                'first': [1, 2, 2, 3, 66, 765],                'fourth': [1, 2, 3, 4, 5],                'second': {'first': '1', 'second': '2', 'third': '3'},                'third': {'first': '1', 'second': '2', 'third': '3'}}]

通过使用ic()方法输出后,不仅可以看到格式话的数据,并且它还自动将你输出的变量也显示了出来,这样也可以延伸到输出函数返回的值,具体如下:gd328资讯网——每日最新资讯28at.com

#随意定义一个函数def func(one_data):    return one_data + 1    #给函数传入一个值为3,并打印函数返回值>>> ic(func(3))#得到打印的结果>>> ic| func(3): 4

这样把输出的函数和我们传入的值也自动显示出来了。gd328资讯网——每日最新资讯28at.com

同时,以pycharm为例,使用ic()输出值后,在控制台会自动将你输出的值转变颜色,可以更加直观的看到输出的内容。gd328资讯网——每日最新资讯28at.com

gd328资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-58981-0.htmlPython基础:格式化输出

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 详解Rust编程中的生命周期

下一篇: 订单视角看支付,你明白了吗?

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 7月安卓手机好评榜:三星S23Ultra好评率第一

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年7月1日至7月31日,仅限国内市场。第一名:三星Galaxy S23 Ultra好评率:95.71%在即将迎来新
  • 6月安卓手机好评榜:魅族20 Pro蝉联冠军

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年6月1日至6月30日,仅限国内市场。第一名:魅族20 Pro好评率:95%5月份的时候魅族20 Pro就是
  • Java NIO内存映射文件:提高文件读写效率的优秀实践!

    Java的NIO库提供了内存映射文件的支持,它可以将文件映射到内存中,从而可以更快地读取和写入文件数据。本文将对Java内存映射文件进行详细的介绍和演示。内存映射文件概述内存
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    7月7日消息,近日有微博网友@长三角行健者爆料称,据经销商集团反馈,小米汽车目前已经开始了交付中心的筛选工作,要求候选场地至少有120个车位,建筑不能低
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top