日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python基礎:格式化輸出

來源: 責編: 時間:2024-01-09 08:52:56 299觀看
導讀哈嘍,大家好,我是了不起。在平時使用python編寫代碼時,控制臺打印結果變量是必不可少的,而且很多初學者都會很頻繁的使用python自帶的print()方法在代碼中打樁,以判斷自己的代碼邏輯獲取值是正確的。但是在代碼中如果需要

哈嘍,大家好,我是了不起。Wl428資訊網——每日最新資訊28at.com

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

Wl428資訊網——每日最新資訊28at.com

但是在代碼中如果需要打印的字段中的數值非常多的時候,使用print()打印的話就會顯得很凌亂,比如下面這種場景。Wl428資訊網——每日最新資訊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()方法打印:Wl428資訊網——每日最新資訊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工具中會顯示成很長的一條數據,如果這個字典中的多維層級在多一些,我們想要取某一個關鍵值的就會很麻煩。Wl428資訊網——每日最新資訊28at.com

接下來給大家介紹兩個其他的打印方法,分別為pprint和ic。Wl428資訊網——每日最新資訊28at.com

一、pprint

pprint(pretty-print)是 Python 標準庫中的一個模塊,可以將 Python 對象以一種可讀性更高的格式打印出來。比起print()函數可以更好的處理復雜的數據結構,例如嵌套的列表、字典等。這里還是以上方的data變量為例,首先使用from pprint import pprint導入pprint,然后使用pprint()方法打印出來的結果如下。Wl428資訊網——每日最新資訊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()將打印的結果做了一個格式化的操作,將列表中每個字典鍵值進行分行顯示,使字典的結構顯示更加清晰,提高了可閱讀性。Wl428資訊網——每日最新資訊28at.com

同時pprint()還有一些高級用法,我們可以定義打印數據的縮進、設置輸出寬度等。Wl428資訊網——每日最新資訊28at.com

1.設置縮進

pprint()方法中有一個設置縮進的indent參數,如果想要每個層級之間縮進2個空格,則設置indent=2即可,示例如下Wl428資訊網——每日最新資訊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個空格,這樣在平時打印工作中合理設置一個縮進空格可以更加直觀的閱讀每個層級。Wl428資訊網——每日最新資訊28at.com

2.設置寬度

pprint ()默認的輸出寬度為 80 個字符,可以通過設置 width 參數來更改輸出寬度。示例如下:Wl428資訊網——每日最新資訊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()將打印的數據中每一個字典的鍵值都分行顯示了。Wl428資訊網——每日最新資訊28at.com

Wl428資訊網——每日最新資訊28at.com

二、ic

ic模塊取之于icecream庫,它是一個python第三方庫,在使用去需要下載icecream庫并導入:Wl428資訊網——每日最新資訊28at.com

#pip安裝icecream庫pip install icecream#導入ic模塊from icecream import ic

使用ic()方法打印對象數據時,它也是可以將數據進行格式化后打印出來最終的結果,數據格式化這一點和pprint()基本是相同的:Wl428資訊網——每日最新資訊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()方法輸出后,不僅可以看到格式話的數據,并且它還自動將你輸出的變量也顯示了出來,這樣也可以延伸到輸出函數返回的值,具體如下:Wl428資訊網——每日最新資訊28at.com

#隨意定義一個函數def func(one_data):    return one_data + 1    #給函數傳入一個值為3,并打印函數返回值>>> ic(func(3))#得到打印的結果>>> ic| func(3): 4

這樣把輸出的函數和我們傳入的值也自動顯示出來了。Wl428資訊網——每日最新資訊28at.com

同時,以pycharm為例,使用ic()輸出值后,在控制臺會自動將你輸出的值轉變顏色,可以更加直觀的看到輸出的內容。Wl428資訊網——每日最新資訊28at.com

Wl428資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-58981-0.htmlPython基礎:格式化輸出

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 詳解Rust編程中的生命周期

下一篇: 訂單視角看支付,你明白了嗎?

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 环江| 平安县| 隆昌县| 化州市| 正镶白旗| 山东| 昌乐县| 崇文区| 贵州省| 霍林郭勒市| 阜平县| 凯里市| 化德县| 云南省| 枞阳县| 景泰县| 郸城县| 凯里市| 巴楚县| 平舆县| 陆良县| 合江县| 遵义市| 丰顺县| 眉山市| 梅州市| 集贤县| 同江市| 白银市| 荆门市| 无为县| 大冶市| 阿拉善盟| 凉山| 怀集县| 定结县| 乾安县| 高要市| 陇南市| 肇源县| 永康市|