Pythonを学習し始めたばかりの方で、print関数についてつまずいてしまう人も少なからずいるでしょう。
「Pythonのprintの役割ってどんなのがあるの?」
「Pythonでのprintの基本的な使い方が知りたい」
このような悩みをかかえている方に、Pythonにおけるprintの役割や基本的な使い方、具体的な使用例まで詳しく説明します。
Pythonのprintについて
Pythonにおけるprint関数は多くの人にとってまず初めに覚える関数です。どのようなシチュエーションにも使用できるので、便利な関数ですよ。
それでは、print関数の役割や基本的な使い方を説明していきますね。
print関数の役割
print関数の役割は、文字列や数値を画面に出力することです。指定の文字列や数値を標準出力に出力することが可能です。
print関数はエラー出力やデバッグにもよく使われており、重要度の高い処理となっています。
Python2 と Python3 における違いとは?
Python3では「print関数」ですが、Python2では「print文」になります。書式では、次のような違いがあります。
print 値 #Python2 print(値) #Python3 |
print文で記述したPython2のコードをPython3で実行するとエラーを起こしてしまうので気をつけてくださいね。
またPython3のつもりがPython2で実行されていたというケースもありますので十分注意して実行しましょう。
print関数で出力できるデータ型とは?
print関数で出力できるデータ型は「文字列」「数値」「真理値」の3種類です。
「文字列」の特徴は以下の通りです。
- データ型「 str 」は string の略称で「文字列」と呼ぶ
- 0個以上の文字が並んで「 ’ 」で挟まれた値は文字列として扱われる
- 文字列の定義に使うものは「 ’ 」の他にも「 ” 」があるが、役割はほとんど変わらない
- 「,」で区切ると複数の項目を一度に出力することが可能
「数値」の特徴は以下の通りです。
- 数値として認識されるためには引数として半角数字を入力する
- 数値のデータ型には「 int 」と「 float 」がある
- 「 int 」は integer の略称で整数値
- 「 float 」は floating point number の略称で小数値
- 半角数字であっても「 ’ 」や「 ” 」で囲むと文字列と認識される
「真理値」の特徴は以下の通りです。
- データ型「 bool 」は boolean の略称で「真理値」と呼ぶ
- 「 True 」=真と「 Flase 」=偽の2種類の値だけを取る
- 真偽は数値で表すこともでき、「 False 」は「0」、「 True 」はそれ以外の数値
print関数の基本的な使い方
print関数の基本的な書式は、以下の通りです。
print(値) |
「()」内の「値」に文字列や数値など、出力したい内容を記述します。
文字列を出力したい場合、「 ’ 」または「 ” 」で囲む必要があるので頭に入れておきましょう。
print関数の具体的な使用例
ここからは実際のコードを交えて以下のことについて説明していきますね。
- 区切り文字の変更
- 改行しないようにする
- printf 形式
- 文字列メソッドformat( )
- 小数点以下の桁数を指定して出力
区切り文字の変更
引数に「,」で区切って複数の文字列を指定した場合、デフォルトでは半角スペースで区切られて出力されることになります。
スペースではなく別の区切り文字に変更する場合や、区切り文字をなくして続けて出力したい場合には以下のように「sep=”区切り文字”」を指定します。
print( 値, sep=”区切り文字” ) |
sepの使い方は以下の通りです。
1 #デフォルトでは半角スペースで区切られる 2 print(”Apple”,”Banana”,”Orange”) 3 #実行結果 4 Apple Banana Orange 5 6 #区切り文字を「+」に変更 7 print(”Apple”,”Banana”,”Orange”,sep=”+”) 8 #実行結果 9 Apple+Banana+Orange 10 11 #区切り文字をなくして続けて出力 12 print(”Apple”,”Banana”,”Orange”,sep=””) 13 #実行結果 14 AppleBananaOrange |
改行しないようにする
デフォルトでは文字列などを出力した後に自動で改行を出力するように設定されているため、print関数を実行すると自動的に改行されます。
最後に改行せずにprint関数を実行したい場合には、以下のように「 end=’ ’」を指定します。
print(値, end=’ ’) |
デフォルトでは「 end =’¥n’」となっているため、自動で改行が行われます。ここで「¥n」は改行を表すエスケープシーケンスです。
改行を行いたくない場合にはデフォルトの「¥n」の代わりに空の文字列を指定すればよいことになります。
また「 end 」を使って最後に出力する文字列を指定することが可能です。
endの使い方は以下の通りになります。
1 #デフォルト設定: 2 print(’Hello’) 3 print(’World’) 4 #実行結果 5 Hello 6 World 7 8 #改行しないようにする場合 9 print(’Hello’,end=’ ’) 10 print(’World’) 11 #実行結果 12 HelloWorld 13 14 #最後に指定した文字列を出力する場合 15 print(’Hello’,end=’[end]¥n’) 16 print(’World’,end=’[last ]’) 17 #実行結果 18 Hello[end] 19 World[last] |
printf形式について
「%s」「%d」のようなフォーマット指定子を使用して変数を出力する形式をprintf形式といいます。
以下のように入力するとフォーマット指定子「%d」「%s」などが変数で置き換えられます。
print(フォーマット指定子,%変数) |
変数が複数の場合、「,」で区切って「( )」で囲んでタプルとして指定します。
1 s=’Emily’ 2 i=23 3 print(’Emily is %d years old’ % i) 4 5 # Emily is 23 years old 6 7 print(’%s is %d years old’ %(s,i)) 8 # Emily is 23 years old |
フォーマット指定子は以下の通りです。
- %c:1文字を出力
- %d:整数を10進数で出力
- %e:実数を指定表示で出力
- %f:実数を出力
- %g:実数を最適な形式で出力
- %ld:倍精度整数を10進数で出力
- %lf:倍精度実数を出力
- %lo:倍精度整数を8進数で出力
- %lu:符号なし倍精度整数を10進数で出力
- %lx:倍精度整数を16進数で出力
- %o:整数を8進数で出力
- %s:文字列を出力
- %u:符号なし整数を10進数で出力
- %x:整数を16進数で出力
文字列メソッド format ( ) について
文字列メソッドformat () を使用すると、文字列中の置換フィールド「{ }」が引数に指定した変数に置換されます。
文字列.format(変数) |
変数が複数ある場合、「,」で区切ります。
1 s=’Emily’ 2 i=23 3 4 print(’Emily is { } years old’.format(i)) 5 # Emily is 23 years old 6 7 print(’{ } is { } years old’.format(s,i)) 8 # Emily is 23 years old |
置換フィールドにインデックスを指定すると、以下のように引数の位置に応じて値が置換されるため、同じ値を繰り返し使用したいケースに便利です。
1 s=’Emily’ 2 i=23 3 4 print(’{0} is {1} years old /{0}{0}{0}’.format (s,i)) 5 # Emily is 23 years old / EmilyEmilyEmily |
置換フィールドに文字列を指定すると、以下のようにキーワード引数として指定した値で置換されます。
1 s=’Emily’ 2 i=23 3 4 print(’{name}is{age} years old’.format(name=s,a ge=i)) 5 # Emily is 23 years old |
文字列中で「{」や「}」をそのまま出力したい場合は、「{{」「}}」と記述します。
1 s=’Emily’ 2 i=23 3 4 print(’{ }is{ } years old /{{abc}}’.format(s,i)) 5 # Emily is 23 years old / {abc} |
f文字列について
文字列の「’」の前に「f」を付けた文字列のことを「f文字列」といいます。
f文字列を使用すると、以下のように、文字列中の置換フィールド内に変数を直接指定することが可能です。
1 s=’Emily’ 2 i=23 3 4 print(f’{s} is {i} years old’) 5 # Emily is 23 years old |
小数点以下の桁数を指定して出力
formatメソッドを呼ぶ文字列やf文字列の置換フィールド内に書式指定文字を指定することで、数値の書式を指定して出力することが可能です。
「{:書式指定文字列}」のように記述します。
1 number=0.45 2 print(’{0:.4f} is {0:.2%}’.format(number)) 3 # 0.4500 is 45.00% 4 5 print(f’{number:.4f} is {number:.2%}’) 6 # 0.4500 is 45.00% |
書式指定文字列を使えば、次のようなことができますよ。
- 左寄せ・中央寄せ・右寄せ
- 2進数・8進数・16進数
- ゼロ埋め
- 小数点以下の桁数指定
- パーセント表示
- 指数表記
このように、さまざまな書式で出力することができます。
Pythonの個別指導なら『Tech Teacher』
引用元:Tech Teacher
このBlogを運営するTech Teacherは、Pythonを学習する社会人を対象に、初心者から挫折した人まで、一人ひとりの目的や学習状況にあわせた個別指導を行っています。
また、オンライン指導も選べるので、自宅でも対面でも受講できます。
一人ひとりに最適化された完全マンツーマン指導を提供
完全マンツーマン指導で着実に身につく!
Tech Teacherでは専任の教師が完全マンツーマン指導を行います。
学習状況や目標をしっかり把握した教師が、生徒様のご要望もふまえながら最適なオーダーメイドの指導をご提供します。
お仕事と両立しながら続けられる!
Tech Teacherなら、受講日時や回数を生徒様のご都合に合わせて柔軟に調整することができます。
そのため、お仕事との両立がしやすく、プログラミング学習を継続的に学習することができます。忙しい合間にプログラミングを学びたいという方におすすめです。
授業料は受けた分だけ!
Tech Teacherでは、生徒様が受けた授業の時間分だけ後払いで請求させていただきます。そのため、気軽にプログラミングの学習を始めることができます。
以下のボタンからさらに詳しい情報をご覧いただけます。
まとめ
今回、print関数の役割や基本的な使い方、具体的な使用例を説明してきましたがいかがでしたでしょうか。
今回の要点をまとめると以下のようになります。
- Pythonにおいてprintは文字列や数値を画面に出力する
- Python2 では print 文、Python3 では print 関数
- print 関数の書式は「print( 値 )」
- 区切り文字の変更を行う場合は「 sep=”区切り文字”」
- 改行しないようにする場合は「 end=’ ’」
冒頭でも触れましたが print はどのようなシチュエーションにも使用できる基本となる関数の一つです。
print 関数がしっかり理解できていないと途中でつまずいてしまいますので、今回説明したことを参考に学習してみてください。
このブログでは他にもPythonの学習に役立つ情報を発信しています!ぜひご覧ください。


