Pythonのprint() と pprint() と display() の違いとは? 使い分け方についてまとめ

print_pprint

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、Pythonのprint() と pprint() と display() の違いとは? 使い分け方についてまとめて解説します。

Pythonのprint() と pprint() の違いとは?

Python のprint()pprint()はどちらもPythonプリントモジュールです。

どちらもDataを標準出力する機能は基本的に同じですが、出力する際にフォーマットする機能に違いがあります。

printは、改行などフォーマットせずに、Dataの内容をそのまま表示しますが、

同じくPythonの標準ライブラリであるpprintモジュールを使うと、リスト(list型)や辞書(dict型)などのオブジェクトをきれいに整形して出力・表示することができます。

なので、複雑なデータ構造と長いデータ長を持つデータにはpprint()が適しています。

ちなみに、pprintは「pretty-print」の略です。

まとめると次のとおりです。

  1. print(): リストや辞書の要素が改行されることなく1行で出力されます。
  2. pprint(): リストや辞書の要素が改行して、見やすく出力します。
    • pprintの頭文字のpは「pretty」のpです => pretty => 綺麗・整っている という意味合いがあります。

それでは、SampleCodeで出力の違いを確認してみます。

import pprint

robotamaList =  [
    {
        'robotama': 'ロボ玉試作1号機',
        'from': '神聖グンマー帝国',
        'power': 1000,
        'purupuruFlag': True
    },
    {
        'robotama': "ロボ玉試作2号機",
        'from': 'トチギー公国',
        'power': 2000,
        'purupuruFlag': True
    },
    {
        'robotama': "ロボ玉試作3号機",
        'from': 'さいたまー共和国',
        'power': 3000,
        'purupuruFlag': True
    },
]

## 1. print ##
print(robotamaList)

## 出力結果 ## 
# [{'robotama': 'ロボ玉試作1号機', 'from': '神聖グンマー帝国', 'power': 1000, 'purupuruFlag': True}, {'robotama': 'ロボ玉試作2号機', 'from': 'トチギー公国', 'power': 2000, 'purupuruFlag': True}, {'robotama': 'ロボ玉試作3号機', 'from': 'さいたまー共和国', 'power': 3000, 'purupuruFlag': True}]


## 2. pprint ##
pprint.pprint(robotamaList)

## 出力結果 ## 
# [{'from': '神聖グンマー帝国',
#   'power': 1000,
#   'purupuruFlag': True,
#   'robotama': 'ロボ玉試作1号機'},
#  {'from': 'トチギー公国',
#   'power': 2000,
#   'purupuruFlag': True,
#   'robotama': 'ロボ玉試作2号機'},
#  {'from': 'さいたまー共和国',
#   'power': 3000,
#   'purupuruFlag': True,
#   'robotama': 'ロボ玉試作3号機'}]

番外編: ipython のdisplay() とは?

display()は、dataframe形式の表のレイアウトを保持してくれます。

# Installコマンド: pip install ipython
from IPython.core.display import display

# Installコマンド: pip install pandas
import pandas as pd

df = pd.DataFrame(
    [[2, 3, 4, 5], [1, 2, 3, 4]], 
    index=['sample1', 'sample2'], 
    columns=['propertyA', 'propertyB','propertyC','propertyD']
)

display(df)

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

Python関係書籍

プログラミング学習・エンジニア転職関連の情報

自宅で現役エンジニアから学べる『TechAcademy』 (エンジニア転職保証)

『GEEK JOBキャンプ』スピード転職コース(無料)

【IT道場】入校時0円! 就職目的プログラミングスクール

エンジニア転職なら100%「自社開発」求人に強い【クラウドリンク】

『techgym』 (Python特化・無料)

参考・引用

  1. Pythonのpprintの使い方(リストや辞書を整形して出力)
  2. print()、display()、pprint()の違い

最近の投稿