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

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

Python基礎:格式化輸出

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

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

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

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

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

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

一、pprint

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

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

1.設置縮進

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

2.設置寬度

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

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

二、ic

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

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

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

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

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

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

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

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

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

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

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

標簽:
  • 熱門焦點
  • 對標蘋果的靈動島 華為帶來實況窗功能

    繼蘋果的靈動島之后,華為也在今天正式推出了“實況窗”功能。據今天鴻蒙OS 4.0的現場演示顯示,華為的實況窗可以更高效的展現出實時通知,比如鎖屏上就能看到外賣、打車、銀行
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現已正式出爐,冠軍是來自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從“最美JK”起到“最美女星&r
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 華為發布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發者大會2023(HDC.Together)大會上,HarmonyOS 4正式發布。自2019年發布以來,HarmonyOS一直以用戶為中心,經歷四年多的發展HarmonyOS已
  • iQOO Neo8系列新品發布會

    旗艦雙芯 更強更Pro
  • iQOO Neo8 Pro搶先上架:首發天璣9200+ 安卓性能之王

    經過了一段時間的密集爆料,昨日iQOO官方如期對外宣布:將于5月23日推出全新的iQOO Neo8系列新品,官方稱這是一款擁有旗艦級性能調校的作品。隨著發布時
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
  • 外交部:美方應停止在網絡安全問題上不負責任地指責他國

      中國外交部今天(16日)舉行例行記者會。會上,有記者問,美國情報官員稱,他們正在阻攔來自中國以及其他國家的黑客獲取相關科研成果。 中方對此有何評論?對此
Top 主站蜘蛛池模板: 潍坊市| 运城市| 阿勒泰市| 来凤县| 封丘县| 宁都县| 葫芦岛市| 内黄县| 红桥区| 漯河市| 邓州市| 台南县| 都昌县| 宁蒗| 炉霍县| 屏山县| 保亭| 攀枝花市| 浏阳市| 台中市| 冷水江市| 上饶市| 靖远县| 吕梁市| 永登县| 常宁市| 内丘县| 荔波县| 来安县| 辰溪县| 晋宁县| 筠连县| 尉犁县| 永州市| 庆安县| 阳新县| 南澳县| 北辰区| 沛县| 开江县| 漯河市|