Python - よく使うモジュール - print, pprint 変数の表示

 クラウディア
1. 概要
2. print
3. pprint

1. 概要

 オーソドックスな、標準出力の関数であると理解しています。  「pprint」に至ると、オーソドックスでもないな。  本節は、下記の記事を参考にさせていただきました。
Pythonのprint関数で文字列、数値および変数の値を出力 | note.nkmk.me」
「Pythonのpprintの使い方(リストや辞書を整形して出力) | note.nkmk.me」
「pprint --- データ出力の整然化 — Python 3.7.7 ドキュメント

2. print

 最も単純な形式で  下記のようなソースを書いて
print("Hello world!")

 実行すると
Hello world!
 という結果が得られます。  改行コードが勝手につけられるというのが、「Python」流ですな。

3. pprint

 前項の「print」で、例えば辞書形式のものを出力しようとすると・・・。
dic = {  'key01' : 'value01',  'key02' : 'value02',  'key03' : 'value03',  'key04' : 'value04',  'key05' : 'value05'
       , 'key06' : 'value06',  'key07' : 'value07',  'key08' : 'value08',  'key09' : 'value09',  'key10' : 'value10'  }

print(dic)

 まぁ、ソースは整形できるものの、「print」は、いささか具合が悪い。
{'key01': 'value01', 'key02': 'value02', 'key03': 'value03', 'key04': 'value04', 'key05': 'value05', 'key06': 'value06', 'key07': 'value07', 'key08': 'value08', 'key09': 'value09', 'key10': 'value10'}
 これを、オブジェクトに合わせて整形してくれるのが、「pprint」ちゅうのですが、これは、モジュールをインストールしなければならないし、バージョンによってコール方法が異なります。  (バージョンによる相違が大きいのが、「Python」の難点です)  ちなみに以下は、「Python3.7」で記述しています。  「PrettyPrinter」というモジュールのインストールが必要になります。  「FreeBSD」で使う場合、「pkg」ならば

pkg install py37-prettyprinter
 「ports」ならば

cd /usr/ports/devel/py-prettyprinter
make
make install
 でインストールします。  (オプションはありません)  で、先ほどのソースを整形して記述すると
import pprint
from textwrap import indent

dic = {  'key01' : 'value01',  'key02' : 'value02',  'key03' : 'value03',  'key04' : 'value04',  'key05' : 'value05'
       , 'key06' : 'value06',  'key07' : 'value07',  'key08' : 'value08',  'key09' : 'value09',  'key10' : 'value10'  }

pp = pprint.PrettyPrinter(indent=4)

pp.pprint(dic)

 下記のような出力になります。
{   'key01': 'value01',
    'key02': 'value02',
    'key03': 'value03',
    'key04': 'value04',
    'key05': 'value05',
    'key06': 'value06',
    'key07': 'value07',
    'key08': 'value08',
    'key09': 'value09',
    'key10': 'value10'}
 
 
カウンタバックグラウンド