溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python3中如何使用pprint打印

發(fā)布時間:2021-08-26 13:21:36 來源:億速云 閱讀:166 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Python3中如何使用pprint打印,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

概述

在我們使用內(nèi)置打印函數(shù)print時,打印出的Python數(shù)據(jù)結(jié)構(gòu)對象總是一行的輸出的方式,這樣對數(shù)據(jù)結(jié)構(gòu)較復(fù)雜或數(shù)據(jù)較多的對象的顯示并不美觀,這時我們可以利用pprint輸出美化數(shù)據(jù)結(jié)構(gòu)對象。

pprint方法概覽

美化輸出

我們可以利用pprint中的PrettyPrinter控制輸出的打印時的縮進(jìn),行寬、甚至打印深度等,定義類如下
class pprint.PrettyPrinter(indent = 1,width = 80,depth = None,stream = None,*,compact = False )

  • indent 縮進(jìn)

  • width 寬度

  • depth 打印深度

  • stream 指輸出流對象,stream = None輸出流對象默認(rèn)是sys.stdout

  • compact 如果compact為false(默認(rèn)值),則長序列中的每個項目將在單獨的行上進(jìn)行格式化。如果compact為true,則將在每個輸出行上格式化適合寬度的項目。

import pprint

L = [str(i)*20 for i in range(10)]
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(L)
print(L)

示例結(jié)果:

[   '00000000000000000000',
    '11111111111111111111',
    '22222222222222222222',
    '33333333333333333333',
    '44444444444444444444',
    '55555555555555555555',
    '66666666666666666666',
    '77777777777777777777',
    '88888888888888888888',
    '99999999999999999999']
['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']

對象字符串

我們也可以將目標(biāo)對象的格式化表示形式返回為字符串。 indent, width,depth和compact將PrettyPrinter 作為格式化參數(shù)傳遞給構(gòu)造函數(shù),定義類如下

L = [str(i)*20 for i in range(10)]
pp = pprint.pformat(L, indent=4)
print(pp)
print(L)

示例結(jié)果:

[   '00000000000000000000',
    '11111111111111111111',
    '22222222222222222222',
    '33333333333333333333',
    '44444444444444444444',
    '55555555555555555555',
    '66666666666666666666',
    '77777777777777777777',
    '88888888888888888888',
    '99999999999999999999']
['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']

格式化打印

輸出格式的對象字符串到指定的輸出流,最后以換行符結(jié)束,定義類如下

import pprint

L = [str(i)*20 for i in range(10)]
pprint.pprint(L, indent=4)
print(L)

示例結(jié)果:

[   '00000000000000000000',
    '11111111111111111111',
    '22222222222222222222',
    '33333333333333333333',
    '44444444444444444444',
    '55555555555555555555',
    '66666666666666666666',
    '77777777777777777777',
    '88888888888888888888',
    '99999999999999999999']
['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']

可讀性

判斷對象object的字符串對象是否可讀,True可讀,反之則反。

import pprint

L = [str(i)*20 for i in range(10)]
B = pprint.isreadable(L)
print(B)

示例結(jié)果:

True

以上是“Python3中如何使用pprint打印”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI