<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          讓你的Python輸出更有 B 格

          共 1743字,需瀏覽 4分鐘

           ·

          2021-05-16 09:53


          引言


          每種編程語言都可以輸出。在控制臺中打印變量可以被認(rèn)為是最基本的調(diào)試方法,這對 Python 來說更是如此。然而,您是否對輸出的格式感到困擾? 例如:


          · 一個(gè)字典,其中包含許多鍵值對,這些鍵值對被打印在一行中

          · 嵌套列表打印在一行中,使人難以理解

          · 帶有非常深的無用嵌套對象的字典


          本文介紹的 Pretty Printer 庫將為你很好的解決上述問題。


          1.基本用法


          首先,我們需要導(dǎo)入庫,并編寫一個(gè)示例字典。

          import pprint as ppsample_dict = {    'name': 'Chris',    'age': 33,    'message': 'Thank you for reading my article!',    'topic':'Python Programming'}

          現(xiàn)在,如果我們簡單地打印這個(gè)字典,所有的內(nèi)容都會在一行中輸出。

          print(sample_dict)

          好吧,這可能不算太糟,但是如果我們有更多的鍵值對或者一些值非常長呢?它將很難閱讀。現(xiàn)在,讓我們來看看 Pretty Printer 庫可以做什么。

          pp.pprint(sample_dict)

          首先,每個(gè)鍵值對都顯示在一行中,這樣更具可讀性。此外,你可能沒有注意到,字典是自動按照鍵名的字母順序排序。


          2. 文本換行


          我想大多數(shù) Python 開發(fā)人員都知道上面所示的基本用法。但是你是否知道 Pretty Printer 庫有更多的參數(shù)和標(biāo)志,可以用來進(jìn)一步定制輸出?


          其中一個(gè)示例用法是文本換行。假設(shè)我們不僅滿足于每行有一個(gè)鍵值對,而且還希望在值太長時(shí)進(jìn)行文本換行。在這種情況下,我們可以使用 width 參數(shù)。

          pp.pprint(sample_dict, width=30)

          因此,我們可以使用 width 來約束行的長度,以實(shí)現(xiàn)更好的可讀性。除此之外,indent 參數(shù)還可以在每一行的前面添加縮進(jìn)。

          pp.pprint(sample_dict, width=30, indent=10)

          3. 嵌套對象截?cái)?/span>


          有時(shí)候,我們可能不想查看我們打印到輸出的所有細(xì)節(jié)。例如,我們可能希望防止遞歸打印的內(nèi)容,或者只是對嵌套對象中更深層次的內(nèi)容不感興趣。


          假設(shè)我們有一個(gè)如下所示的嵌套 Python 列表。

          sample_list = ['level1', ['level2', ['level3']]]

          如果我們使用普通 Pretty Printer ,就不會有什么不同于普通 print 的輸出。

          pp.pprint(sample_list)

          但是,如果我們指定了 depth 參數(shù),任何比參數(shù)更深的內(nèi)容都會被截?cái)唷?/span>

          pp.pprint(sample_list, depth=2)# ORpp.pprint(sample_list, depth=1)

          4. 實(shí)例化 Pretty Printer


          到目前為止,這還是相當(dāng)酷的。但是,每次編寫上面演示的代碼只是為了打印某些內(nèi)容,可能會過于冗長。


          當(dāng)你想使用 Pretty Printer 不只一次,而是多次。每次編寫帶參數(shù)的函數(shù)也很累。實(shí)際上,我們可以用所有必要的參數(shù)實(shí)例化 Pretty Printer 類。然后,我們可以一次又一次地重復(fù)使用它。


          PrettyPrinter類位于pprint軟件包的根級別。因此,讓我們重新導(dǎo)入它。

          import pprint

          然后,我們可以像下面這樣在構(gòu)造函數(shù)中傳遞參數(shù)。

          pp = pprint.PrettyPrinter(depth=2)

          在此之后,我們得到了具有預(yù)定義樣式的實(shí)例,該樣式可以直接使用。

          pp.pprint(sample_list)

          總結(jié)


          在本文中,我介紹了 Python 內(nèi)置的 Pretty Printer 庫。當(dāng)然,我們不必使用它來替換默認(rèn)的打印函數(shù)。我們必須在使用之前導(dǎo)入它,代碼將變得冗長。但是,在某些情況下,我們可以使用它來生成更好的可讀輸出,從而簡化編程和調(diào)試活動。




          瀏覽 82
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  做aa视频 | 播放日本A片| 日本人人操 | 亚洲精品乱码 | 国产精品无码专区AV在线播放 |