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

Python基础:格式化输出

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

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

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

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

但是在代码中如果需要打印的字段中的数值非常多的时候,使用print()打印的话就会显得很凌乱,比如下面这种场景。Lc428资讯网——每日最新资讯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()方法打印:Lc428资讯网——每日最新资讯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工具中会显示成很长的一条数据,如果这个字典中的多维层级在多一些,我们想要取某一个关键值的就会很麻烦。Lc428资讯网——每日最新资讯28at.com

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

一、pprint

pprint(pretty-print)是 Python 标准库中的一个模块,可以将 Python 对象以一种可读性更高的格式打印出来。比起print()函数可以更好的处理复杂的数据结构,例如嵌套的列表、字典等。这里还是以上方的data变量为例,首先使用from pprint import pprint导入pprint,然后使用pprint()方法打印出来的结果如下。Lc428资讯网——每日最新资讯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()将打印的结果做了一个格式化的操作,将列表中每个字典键值进行分行显示,使字典的结构显示更加清晰,提高了可阅读性。Lc428资讯网——每日最新资讯28at.com

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

1.设置缩进

pprint()方法中有一个设置缩进的indent参数,如果想要每个层级之间缩进2个空格,则设置indent=2即可,示例如下Lc428资讯网——每日最新资讯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个空格,这样在平时打印工作中合理设置一个缩进空格可以更加直观的阅读每个层级。Lc428资讯网——每日最新资讯28at.com

2.设置宽度

pprint ()默认的输出宽度为 80 个字符,可以通过设置 width 参数来更改输出宽度。示例如下:Lc428资讯网——每日最新资讯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()将打印的数据中每一个字典的键值都分行显示了。Lc428资讯网——每日最新资讯28at.com

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

二、ic

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

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

使用ic()方法打印对象数据时,它也是可以将数据进行格式化后打印出来最终的结果,数据格式化这一点和pprint()基本是相同的:Lc428资讯网——每日最新资讯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()方法输出后,不仅可以看到格式话的数据,并且它还自动将你输出的变量也显示了出来,这样也可以延伸到输出函数返回的值,具体如下:Lc428资讯网——每日最新资讯28at.com

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • iPhone卖不动了!苹果股价创年内最大日跌幅:市值一夜蒸发万亿元

    8月5日消息,今天凌晨美股三大指数高开低走集体收跌,道指跌0.41%;纳指跌0.36%;标普500指数跌0.52%。热门科技股也都变化极大,其中苹果报181.99美元,跌4.8%,创
  • Automa-通过连接块来自动化你的浏览器

    1、前言通过浏览器插件可实现自动化脚本的录制与编写,具有代表性的工具就是:Selenium IDE、Katalon Recorder,对于简单的业务来说可快速实现自动化的上手工作。Selenium IDEKat
  • 分享六款相见恨晚的PPT模版网站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS网站旨在为全球Office用户提供丰富的高品质原创PPT模板、实用文档、数据图表及个性化定制服务。优点:OfficePLUS是微软官方网站,囊括PPT模板、Word模
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • 每天一道面试题-CPU伪共享

    前言:了不起:又到了每天一到面试题的时候了!学弟,最近学习的怎么样啊 了不起学弟:最近学习的还不错,每天都在学习,每天都在进步! 了不起:那你最近学习的什么呢? 了不起学弟:最近在学习C
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的“头腾
  • 小米MIX Fold 3下月亮相:今年唯一无短板的全能折叠屏

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都有新的进展,其中荣耀、三星都已陆续发布了最新的折叠屏旗舰,尤其号荣耀Magi
  • iQOO Neo8 Pro评测:旗舰双芯加持 最强性能游戏旗舰

    【Techweb评测】去年10月,iQOO推出了一款Neo7手机,该机搭载了联发科天玑9000+,配备独显芯片Pro+,带来了同价位段最佳的游戏体验,一经上市便受到了诸多用
  • 苹果140W USB-C充电器:采用氮化镓技术

    据10 月 30 日 9to5 Mac 消息报道,当苹果推出新的 MacBook Pro 2021 时,该公司还推出了新的 140W USB-C 充电器,附赠在 MacBook Pro 16 英寸机型的盒子里,也支
Top