今回は、Pythonの組み込み関数であるprint関数を解説します。
この記事では、print関数について以下の内容を説明します。
- 文字列と数値の出力
- 変数の出力
- 文字列の結合
- リストや辞書型の出力
- 区切り文字の変更
- 改行の防止
- ファイルへの出力
ちなみにprint関数には戻り値がなく、データ内容を画面に出力する特殊な関数です。
REPLを使った対話型ではなく、通常のプログラムのコーディングの際、
途中途中の処理が想定通りに行われているかの検証で僕はprint関数をよく使います。
print関数の基本
print関数の基本的な使い方を解説しますが、使い方としては、ほぼ網羅していますのでこれさえ理解していれば大丈夫です。
文字列と数値の出力
文字列の出力から解説します。まずは名言を出力するプログラムを作成します。
名言を出力するプログラム(meigen.py)
#名言を表示
print("忘れたい事が思い出せない。")
print("心に染みる名言集:パカボンのパパ")
Printの()内に表示した文字列をダブルクオート(シングルクオートでも可)で囲むだけでオッケーです。
実行結果
忘れたい事が思い出せない。
心に染みる名言集:パカボンのパパ
次に数値の出力を解説します。
円周率を数値を表示するプログラム(pi.py)
#円周率を表示
print(3.141592653589793)
実行結果
3.141592653589793
pi(パイ)のpy(パイ)に見えますね。
パイのパイ体操の志村のけんさんですね。
これがわかる人はアラフォー以上確定です。
変数の出力
print関数は数値や文字列だけでなく変数の出力もできます。
名言変数の出力(meigen_v.py)
#名言変数
meigen = "美味いか不味いかは食うてから言え!:ラーメン大好き小池さんの名言"
print(meigen)
実行結果
美味いか不味いかは食うてから言え!:ラーメン大好き小池さんの名言
文字列を結合して出力
print関数では文字列や数値や変数を結合して出力できます。
文字列と数値と変数の出力(mix.py)
#文字列と数値と変数
words = "歳です。"
print("志村けんさんは",70,words)
実行結果
志村けんさんは 70 歳です。
print関数は、文字列や数値や変数をコンマで区切れば複数の値を表示できます。
通常の文字列の連結は型を合わせる必要がありますが、単純にprint関数で画面出力するだけであれば、型を合わせなくてもエラーにはなりません。
リストや辞書型の出力
さらにprint関数は、リストや辞書型の出力も可能です。
リストの出力(print_list.py)
#うまい棒のリストを表示
umaibo_list = ["mentai","takoyaki","sarada"]
print(umaibo_list)
実行結果
['mentai', 'takoyaki', 'sarada']
辞書型の出力(print_dict.py)
#うまい棒の辞書型を表示
umaibo_dict = {“mentai:10”,”takoyaki:10”,”sarada:10”}
print(umaibo_list)
実行結果
{“mentai:10”,”takoyaki:10”,”sarada:10”}
うまい棒は全部10円で価格差がないので、辞書型の例題に不向きです。。。
区切り文字の変更
変数の出力で、文字列や数値や変数をコンマで区切れば複数の値を表示できると説明しました。
しかし、その際に必ず値と値の間にスペースの区切り文字が入ります。
これを任意のセパレーターに変更する事も可能です。
区切り文字を変更するには、sepオプションを使います。
sepオプションの記述方法
print(値1,値2,値3,値4,sep="・")
区切り文字の変更(sep.py)
#区切り文字の変更
print("イチ","ニー","サン","ダー!",sep="・")
実行結果
イチ・ニー・サン・ダー!
改行の防止(削除)
print関数はデフォルトで改行してしまいます。
改行を入れたくない場合は、print関数に対して、
endオプションを使うと改行しません。
Endオプションの記述方法
print(値,end="")
end=””を入れて改行を防止(meigen_end.py)
#名言と著者を改行せずに表示
print("忘れたい事が思い出せない。",end="")
print("心に染みる名言集:パカボンのパパ")
実行結果
忘れたい事が思い出せない。心に染みる名言集:パカボンのパパ
ファイルへの出力
print関数はデータ内容を画面に出力しますが、画面ではなくファイルに対して出力(書き込む)する事もできます。
ファイルへの出力(print_text.py)
#printを使いwriteモードでファイルに書き込む
print_text = open("print_write.txt", "w")
print("ハンマーカンマー!", file=print_text)
print_text.close()
1行目で、テキストファイル(print_write.txt)を書き込みモードで開き、
2行目で、開いたテキストファイルに書き込み、最終行でテキストファイルとの接続を切り離しています。
実行結果:print_write.txt
ハンマーカンマー!
※ファイル操作(書き込み・読み込み)についてはこちらを参照願います。