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
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のprint()
関数の使い方を解説しました。
print()
関数を使うことでオブジェクトを出力し、デバッグするだけでなくファイルに書き込んだりすることもできます。頻繁に使うのでしっかり覚えておきましょう!
出力がごちゃごちゃしていて分かりにくい場合は、pprint()
を使うことで見やすい形に整えながら出力することができます。
Link【Python】pprintでリストや辞書などのデータを見やすく出力する方法
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ