好程式設計師Python學習路線分享用pprint代替print
好程式設計師Python 學習路線分享 用pprint 代替 print 更友好的列印除錯資訊
pprint 是 “ pretty printer ” 的簡寫,“ pretty ” 的含義是 “漂亮的、美觀的”,因此 pprint 的含義便是:漂亮的列印。
這是個相當簡單卻有用的模組,主要用於列印複雜的資料結構物件,例如多層巢狀的列表、元組和字典等。
先看看 print() 列印的一個例子:
```python
mylist = ["Beautiful is better than ugly.", "Explicit is better than implicit.", "Simple is better than complex.", "Complex is better than complicated."]
print(mylist)
['Beautiful is better than ugly.', 'Explicit is better than implicit.', 'Simple is better than complex.', 'Complex is better than complicated.']
```
這是一個簡單的例子,全部列印在一行裡。如果物件中的元素是多層巢狀的內容(例如複雜的 字典 資料),再列印出那肯定是一團糟的,不好閱讀。
使用 pprint 模組的 pprint() 替代 print() ,可以解決如下痛點:
- ** 設定合適的行寬度,作適當的換行 **
- ** 設定列印的縮排、層級,進行格式化列印 **
- ** 判斷物件中是否有無限迴圈,並最佳化列印內容 **
基本使用
```python
pprint(object, stream=None, indent=1, width=80, depth=None, *,compact=False)
```
預設的行寬度引數為 80 ,當列印的字元小於 80 時, pprint() 基本上等同於內建函式 print() ,當字元超出時,它會作美化,進行格式化輸出。
```python
import pprint
mylist = ["Beautiful is better than ugly.", "Explicit is better than implicit.", "Simple is better than complex.", "Complex is better than complicated."]
pprint.pprint(mylist)
# 超出 80 字元,列印的元素是換行的
['Beautiful is better than ugly.',
'Explicit is better than implicit.',
'Simple is better than complex.',
'Complex is better than complicated.']
```
設定縮排
```python
pprint.pprint(mylist, indent=4)
[ 'Beautiful is better than ugly.',
'Explicit is better than implicit.',
'Simple is better than complex.',
'Complex is better than complicated.']
```
設定列印行寬
- ```python
mydict = {'students': [{'name':'Tom', 'age': 18},{'name':'Jerry', 'age': 19}]}
pprint.pprint(mydict)
# 正常列印
{'students': [{'age': 18, 'name': 'Tom'}, {'age': 19, 'name': 'Jerry'}]}
pprint.pprint(mydict, width=20)
# 行寬為 20
{'students': [{'age': 18,
'name': 'Tom'},
{'age': 19,
'name': 'Jerry'}]}
pprint.pprint(mydict, width=70)
# 行寬為 70
{'students': [{'age': 18, 'name': 'Tom'},
{'age': 19, 'name': 'Jerry'}]}
```
設定列印層級
```python
newlist = [1, [2, [3, [4, [5]]]]]
pprint.pprint(newlist, depth=3)
# 超出的層級會用 ... 表示
[1, [2, [3, [...]]]]
```
用 pprint 替換 print
```python
import pprint
print = pprint.pprint
mylist = ["Beautiful is better than ugly.", "Explicit is better than implicit.", "Simple is better than complex.", "Complex is better than complicated."]
print(mylist)
['Beautiful is better than ugly.',
'Explicit is better than implicit.',
'Simple is better than complex.',
'Complex is better than complicated.']
```
更多用法請檢視官方文件
總體而言,pprint() 是 print() 的輕量級替代,簡單實用,非常方便,而且還是 Python 標準庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2659220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Python學習路線之python爬蟲入門程式設計師Python爬蟲
- 好程式設計師Python學習路線分享Beeprint怎麼用程式設計師Python
- 好程式設計師Java學習路線之集程式設計師Java
- 好程式設計師Java學習路線JSP物件程式設計師JavaJS物件
- 好程式設計師Java學習路線分享SpringCloud程式設計師JavaSpringGCCloud
- 好程式設計師分享Python從入門到精通最佳學習路線程式設計師Python
- 好程式設計師Python學習路線分享Linux和資料庫部分程式設計師PythonLinux資料庫
- 好程式設計師Java學習路線分享5分鐘瞭解計數排序程式設計師Java排序
- 好程式設計師Java學習路線分享mybatis對映程式設計師JavaMyBatis
- 好程式設計師大資料學習路線分享MAPREDUCE程式設計師大資料
- 好程式設計師大資料學習路線分享SparkSQl程式設計師大資料SparkSQL
- 好程式設計師告訴你Java架構師學習路線程式設計師Java架構
- 好程式設計師Python學習路線分享實現快速排序演算法程式設計師Python排序演算法
- 好程式設計師大資料學習路線分享Hbase指令學習程式設計師大資料
- 好程式設計師Python培訓分享零基礎Python爬蟲學習線路程式設計師Python爬蟲
- 好程式設計師大資料學習路線分享hive分割槽和分桶程式設計師大資料Hive
- 好程式設計師Java學習路線分享5分鐘瞭解基數排序程式設計師Java排序
- 好程式設計師大資料學習路線之大資料自學路線二程式設計師大資料
- 好程式設計師大資料學習路線之大資料自學路線一程式設計師大資料
- 好程式設計師Java學習路線分享原生Ajax的使用程式設計師Java
- 好程式設計師Java學習路線之SpringMVC之基本配置程式設計師JavaSpringMVC
- 好程式設計師Java學習路線分享finalize()方法詳解程式設計師Java
- 好程式設計師Java學習路線分享JVM相關概念程式設計師JavaJVM
- 好程式設計師大資料學習路線Hbase總結程式設計師大資料
- 好程式設計師大資料學習路線之mapreduce概述程式設計師大資料
- 好程式設計師web學習路線初步認知react框架程式設計師WebReact框架
- 好程式設計師Java學習路線分享MyBatis之Spring整合程式設計師JavaMyBatisSpring
- 好程式設計師Java學習路線分享Redis快速入門程式設計師JavaRedis
- 好程式設計師web前端學習路線分享Jsonp詳解程式設計師Web前端JSON
- 好程式設計師Java學習路線分享MyBatis之基本使用程式設計師JavaMyBatis
- 好程式設計師Java學習路線分享maven是什麼程式設計師JavaMaven
- 好程式設計師Java學習路線分享SpringMVC之MVC概述程式設計師JavaSpringMVC
- 好程式設計師大資料學習路線Hadoop學習乾貨分享程式設計師大資料Hadoop
- 好程式設計師大資料學習路線分享HDFS學習總結程式設計師大資料
- 好程式設計師大資料學習路線分享hdfs學習乾貨程式設計師大資料
- 好程式設計師大資料學習路線分享Actor學習筆記程式設計師大資料筆記
- 好程式設計師大資料學習路線分享Map學習筆記程式設計師大資料筆記
- 好程式設計師雲端計算學習路線分享檢視程式process程式設計師