成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python基礎(chǔ):格式化輸出

開發(fā) 前端
在平時(shí)使用python編寫代碼時(shí),控制臺打印結(jié)果變量是必不可少的,今天給大家介紹兩個(gè)其他的打印方法,分別為pprint和ic。

哈嘍,大家好,我是了不起。

在平時(shí)使用python編寫代碼時(shí),控制臺打印結(jié)果變量是必不可少的,而且很多初學(xué)者都會(huì)很頻繁的使用python自帶的print()方法在代碼中打樁,以判斷自己的代碼邏輯獲取值是正確的。

但是在代碼中如果需要打印的字段中的數(shù)值非常多的時(shí)候,使用print()打印的話就會(huì)顯得很凌亂,比如下面這種場景。

data = [{"first": "第一個(gè)值", "second": "第二個(gè)值", "third": "第三個(gè)值", "fourth": "第四個(gè)值", "fifth": "第五個(gè)值", },
        {"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"}}]}]

定義一個(gè)data變量賦值了一個(gè)典型的多維列表,然后每個(gè)字典中有多個(gè)鍵值對,這個(gè)時(shí)候使用print()方法打印:

>>> print(data)
#輸出結(jié)果為
>>> [{'first': '第一個(gè)值', 'second': '第二個(gè)值', 'third': '第三個(gè)值', 'fourth': '第四個(gè)值', 'fifth': '第五個(gè)值'}, {'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()打出來的結(jié)果直接會(huì)顯示成為一條并且看起來會(huì)很凌亂,而且在pycharm工具中會(huì)顯示成很長的一條數(shù)據(jù),如果這個(gè)字典中的多維層級在多一些,我們想要取某一個(gè)關(guān)鍵值的就會(huì)很麻煩。

接下來給大家介紹兩個(gè)其他的打印方法,分別為pprint和ic。

一、pprint

pprint(pretty-print)是 Python 標(biāo)準(zhǔn)庫中的一個(gè)模塊,可以將 Python 對象以一種可讀性更高的格式打印出來。比起print()函數(shù)可以更好的處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如嵌套的列表、字典等。這里還是以上方的data變量為例,首先使用from pprint import pprint導(dǎo)入pprint,然后使用pprint()方法打印出來的結(jié)果如下。

>>> pprint(data)
#輸出結(jié)果為
>>> [{'fifth': '第五個(gè)值',
      'first': '第一個(gè)值',
      'fourth': '第四個(gè)值',
      'second': '第二個(gè)值',
      'third': '第三個(gè)值'},
     {'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()將打印的結(jié)果做了一個(gè)格式化的操作,將列表中每個(gè)字典鍵值進(jìn)行分行顯示,使字典的結(jié)構(gòu)顯示更加清晰,提高了可閱讀性。

同時(shí)pprint()還有一些高級用法,我們可以定義打印數(shù)據(jù)的縮進(jìn)、設(shè)置輸出寬度等。

1.設(shè)置縮進(jìn)

pprint()方法中有一個(gè)設(shè)置縮進(jìn)的indent參數(shù),如果想要每個(gè)層級之間縮進(jìn)2個(gè)空格,則設(shè)置indent=2即可,示例如下

>>> pprint(data,indent=2)
#輸出結(jié)果為
>>> [ { 'fifth': '第五個(gè)值',        
       'first': '第一個(gè)值',
       'fourth': '第四個(gè)值',
       'second': '第二個(gè)值',
       'third': '第三個(gè)值'},
     { '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'}}]

可以看見設(shè)置indent=2之后,pprint()將打印出的數(shù)據(jù)每個(gè)層級之間都縮進(jìn)2個(gè)空格,這樣在平時(shí)打印工作中合理設(shè)置一個(gè)縮進(jìn)空格可以更加直觀的閱讀每個(gè)層級。

2.設(shè)置寬度

pprint ()默認(rèn)的輸出寬度為 80 個(gè)字符,可以通過設(shè)置 width 參數(shù)來更改輸出寬度。示例如下:

>>> pprint(data,width=40)
#輸出結(jié)果為
>>> [{'fifth': '第五個(gè)值',
      'first': '第一個(gè)值',
      'fourth': '第四個(gè)值',
      'second': '第二個(gè)值',
      'third': '第三個(gè)值'},
     {'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'}}]

設(shè)置輸出寬度后可以看到pprint()將打印的數(shù)據(jù)中每一個(gè)字典的鍵值都分行顯示了。

二、ic

ic模塊取之于icecream庫,它是一個(gè)python第三方庫,在使用去需要下載icecream庫并導(dǎo)入:

#pip安裝icecream庫
pip install icecream

#導(dǎo)入ic模塊
from icecream import ic

使用ic()方法打印對象數(shù)據(jù)時(shí),它也是可以將數(shù)據(jù)進(jìn)行格式化后打印出來最終的結(jié)果,數(shù)據(jù)格式化這一點(diǎn)和pprint()基本是相同的:

>>> ic(data)
#輸出結(jié)果為
>>> ic| data: [{'fifth': '第五個(gè)值',
                'first': '第一個(gè)值',
                'fourth': '第四個(gè)值',
                'second': '第二個(gè)值',
                'third': '第三個(gè)值'},
               {'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()方法輸出后,不僅可以看到格式話的數(shù)據(jù),并且它還自動(dòng)將你輸出的變量也顯示了出來,這樣也可以延伸到輸出函數(shù)返回的值,具體如下:

#隨意定義一個(gè)函數(shù)
def func(one_data):
    return one_data + 1

    #給函數(shù)傳入一個(gè)值為3,并打印函數(shù)返回值
>>> ic(func(3))

#得到打印的結(jié)果
>>> ic| func(3): 4

這樣把輸出的函數(shù)和我們傳入的值也自動(dòng)顯示出來了。

同時(shí),以pycharm為例,使用ic()輸出值后,在控制臺會(huì)自動(dòng)將你輸出的值轉(zhuǎn)變顏色,可以更加直觀的看到輸出的內(nèi)容。

責(zé)任編輯:趙寧寧 來源: Python都知道
相關(guān)推薦

2010-07-16 16:00:08

Perl格式化輸出

2010-07-16 15:23:34

Perl格式化輸出

2010-07-16 15:44:57

Perl格式化輸出

2010-07-16 14:37:26

Perl格式化輸出

2010-07-21 14:25:24

Perl格式化輸出

2020-09-02 07:19:41

printf 格式化輸出Unix

2010-07-15 11:16:25

Perl格式化輸出

2010-07-15 11:29:25

Perl格式化輸出

2022-05-09 14:04:27

Python字符串格式化輸出

2023-04-11 10:37:40

bash命令printf

2024-12-09 08:10:00

Python字符串格式化

2019-05-17 13:20:57

Black格式化工具Python

2023-01-12 09:30:31

Linux命令行xml

2024-06-03 11:36:06

Pythonf-string

2020-11-03 10:21:33

MySQL

2022-12-30 08:30:28

Linux命令行json

2009-08-03 14:25:59

C#日期格式化

2022-05-09 08:17:37

InstantJava字符

2021-06-09 07:55:18

Python格式化字符串

2010-07-29 11:12:30

Flex日期格式化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美狠狠操 | 91精品国产综合久久久久久 | 91精品国产一区二区三区蜜臀 | 波多野结衣av中文字幕 | 国产三级一区二区三区 | 久久99视频免费观看 | 卡通动漫第一页 | 日韩精品一区中文字幕 | 中文字幕一区二区三区乱码图片 | 99精品电影 | 最近中文字幕第一页 | 精品一区精品二区 | 欧美精品一区三区 | 亚洲精品电影网在线观看 | 黄视频在线网站 | 国产一级免费视频 | 一区二区在线免费观看 | 亚洲欧美综合精品久久成人 | 国产最新精品视频 | 久久婷婷色 | 亚洲高清视频一区二区 | 国产欧美精品一区二区 | 黄色毛片免费 | 中文字幕中文字幕 | 亚洲伊人精品酒店 | 欧美成人精品激情在线观看 | 国产高清在线 | 欧美一区二区免费电影 | 国产精品久久久久免费 | 亚洲欧美视频一区 | 四虎影音| 欧美成人精品在线 | 欧美精品乱码久久久久久按摩 | 一区二区精品 | 免费一级黄| 久久精品国产一区 | 成年人视频在线免费观看 | 69av在线视频 | 一级做a爰片性色毛片 | 在线视频 中文字幕 | 日日夜夜狠狠操 |