Python PR

【Python】print関数でオブジェクトを出力する方法

記事内に商品プロモーションを含む場合があります

Pythonには、出力関数であるprint()が用意されています。print()関数を使うと任意のオブジェクトをターミナルやコマンドプロンプトに文字列として出力することができます。

また、出力先を変更することで任意のファイルに出力させることもできます。

この記事では、

  • 基本的なprint関数の使い方
  • print関数の書式
  • 区切り文字の変更
  • 末尾の文字列の変更
  • 出力先の変更

など、基本的な使い方から応用した使い方まで詳しく解説していきます。

それでは、print()関数について見ていきましょう!

基本的なprint関数の使い方

print()関数は引数に指定されたオブジェクトを文字列としてターミナル、またはコマンドプロンプトに出力します。

# 文字列
print('あいう')        # あいう

# 整数
print(1234)          # 1234

# 浮動小数点数
print(3.1415)        # 3.1415

# リスト
print(['hoge', 10])  # ['hoge', 10]

もちろん、変数に格納された値も出力することができます。

s = 'あいう'
i = 1234
l = ['hoge', 10]

print(s)  # あいう
print(i)  # 1234
print(l)  # ['hoge', 10]

複数のオブジェクトを出力する

1つのprint()関数で複数のオブジェクトを出力することもできます。

複数のオブジェクトを出力するには、出力したいオブジェクトをカンマ(,)区切りで指定します。同じ型でなくてもまとめて出力することができます。

print(1, 2.4, 'abc')  # 1 2.4 abc

埋め込み

オブジェクトを文字列に埋め込んで出力したい場合があります。そんな時はstr型のformat()メソッドを使うか、フォーマット済み文字列リテラルを使います。

num1 = 1
num2 = 2

# str.format()メソッド
print('{} + {} = {}'.format(num1, num2, num1 + num2))  # 1 + 2 = 3

# フォーマット文字列リテラル
print(f'{num1} + {num2} = {num1 + num2}')  # 1 + 2 = 3

Link【Python】文字列に値を埋め込む方法

print関数の書式

print()関数の書式は以下の通りです。

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

たくさんの引数が定義されていますが、ほとんどの引数に初期値が与えられているので基本的には省略することが可能です。

引数を指定する場合は、引数名=値というような形で指定します。

ここでは簡単に引数の意味を確認しておきましょう!

*objects 出力したいオブジェクトを指定します。複数のオブジェクトを指定することも可能。
sep 複数のオブジェクトが渡された際の区切り文字を指定できます。デフォルトは空白です。
end 末尾に出力する文字列を指定できます。デフォルトは改行文字(\n)。
file 出力先を指定できます。デフォルトは sys.stdoutで標準出力です。
flush 出力が後まわしにされてしまう場合にTrueを指定することで実行された際に出力させることができます。

それでは、具体的な使い方を見ていきましょう!

区切り文字の変更(sep引数)

sep引数を指定することで複数のオブジェクトを出力する際の区切り文字を設定することができます。デフォルトは空白です。

print(1, 2, 3, sep='/')   # 1/2/3
print(1, 2, 3, sep='-')   # 1-2-3
# \t = タブ文字
print(1, 2, 3, sep='\t')  # 1       2       3

末尾の文字列の変更(end引数)

print()関数のend引数を指定することで末尾に出力される文字列を設定することができます。デフォルトは改行文字(\n)です。

# 改行されない点に注意
print('あいう', end='ザマス')
print('abc', end='だべ\n')
print('123', end='!\n')

実行結果

あいうザマスabcだべ
123!

引数を省略してprint()関数を呼び出すことで改行のみを出力することができます。

print('123')
print()
print('456')
print()
print()
print('789')

実行結果

123

456


789

あえて改行をさせたくない場合は、end引数に空白などを指定します。

print('123', end='')
print('456', end='')
print('789', end='')

実行結果

123456789

出力先の変更(file引数)

print()関数のfile引数を指定することで出力先を変更することができます。
デフォルトはsys.stdoutです。

Linksys.stdout - Python 3.10.6 ドキュメント

例えば、出力先にopen()関数で生成したファイルオブジェクトを指定できます。

with open('print.txt', 'w') as f:
    # file引数にopen関数で開いたファイルを指定
    print('print関数の出力', file=f)

上記コードを実行するとターミナルやコマンドプロンプトには出力されず、同ディレクトリ内に以下のようなprint.txtが生成されます。

このように、file引数を指定することで出力先を任意のファイルに変更し、文字列を書き込むことができます。

【Python】open関数を使ってファイルを読み書きする方法を解説この記事では、Pythonのopen関数を使ってソースコード内からファイルを読み書きする方法を解説します。Pythonでファイルを読み書きするには、open関数を使って生成したファイルオブジェクトを通してファイルにデータを書き込んだり、ファイルのデータを読み込んだりします。それでは、ファイルを読み書きする方法を見ていきましょう!...

まとめ

この記事では、Pythonのprint()関数の使い方を解説しました。

print()関数を使うことでオブジェクトを出力し、デバッグするだけでなくファイルに書き込んだりすることもできます。頻繁に使うのでしっかり覚えておきましょう!

出力がごちゃごちゃしていて分かりにくい場合は、pprint()を使うことで見やすい形に整えながら出力することができます。

Link【Python】pprintでリストや辞書などのデータを見やすく出力する方法

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ