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

Python基礎:格式化輸出

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

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

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

但是在代碼中如果需要打印的字段中的數值非常多的時候,使用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"}}]}]

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

>>> 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工具中會顯示成很長的一條數據,如果這個字典中的多維層級在多一些,我們想要取某一個關鍵值的就會很麻煩。

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

一、pprint

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

>>> 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()將打印的結果做了一個格式化的操作,將列表中每個字典鍵值進行分行顯示,使字典的結構顯示更加清晰,提高了可閱讀性。

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

1.設置縮進

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

>>> 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個空格,這樣在平時打印工作中合理設置一個縮進空格可以更加直觀的閱讀每個層級。

2.設置寬度

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

>>> 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()將打印的數據中每一個字典的鍵值都分行顯示了。

二、ic

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

#pip安裝icecream庫
pip install icecream

#導入ic模塊
from icecream import ic

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

>>> 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()方法輸出后,不僅可以看到格式話的數據,并且它還自動將你輸出的變量也顯示了出來,這樣也可以延伸到輸出函數返回的值,具體如下:

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

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

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

這樣把輸出的函數和我們傳入的值也自動顯示出來了。

同時,以pycharm為例,使用ic()輸出值后,在控制臺會自動將你輸出的值轉變顏色,可以更加直觀的看到輸出的內容。

責任編輯:趙寧寧 來源: Python都知道
相關推薦

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格式化輸出

2022-05-09 14:04:27

Python字符串格式化輸出

2010-07-15 11:29:25

Perl格式化輸出

2023-04-11 10:37:40

bash命令printf

2019-05-17 13:20:57

Black格式化工具Python

2024-12-09 08:10:00

Python字符串格式化

2023-01-12 09:30:31

Linux命令行xml

2022-12-30 08:30:28

Linux命令行json

2020-11-03 10:21:33

MySQL

2024-06-03 11:36:06

Pythonf-string

2009-08-03 14:25:59

C#日期格式化

2022-05-09 08:17:37

InstantJava字符

2021-06-09 07:55:18

Python格式化字符串

2009-08-03 16:24:05

C#格式化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线一区视频 | 国产精品一二三区 | 亚洲日韩中文字幕一区 | 中文字幕成人av | 欧美一区二区三区在线视频 | 在线播放中文字幕 | 国产黄色大片网站 | 国产欧美一区二区三区在线看蜜臀 | 国产成人精品久久二区二区91 | 欧美一极视频 | 欧美日韩综合精品 | 国产视频h | 成人在线视频网站 | 亚洲网站在线播放 | 国产精品永久在线观看 | 欧美精品在线视频 | 视频一区二区中文字幕日韩 | 国产偷录叫床高潮录音 | 国产高清一区二区三区 | 国产高清精品在线 | 国产精品一区二区av | 中文字幕三区 | 亚洲午夜精品 | 国产农村妇女毛片精品久久麻豆 | 久久午夜电影 | 国产精品视频一区二区三区四蜜臂 | 国产精品视频久久 | 一区二区三区视频免费观看 | 操操日| 国产1区2区3区 | 夜夜爽99久久国产综合精品女不卡 | 色综合天天天天做夜夜夜夜做 | 久久精品国产99国产精品 | 中文字幕在线二区 | 在线不卡一区 | 日韩网站在线观看 | 毛片在线看片 | 日韩精品在线免费 | 午夜理伦三级理论三级在线观看 | 九九综合 | 亚洲精品91 |