Python

Pythonの出力関数printの要点をつかむ!基礎〜応用まで徹底解説

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進数
  • ゼロ埋め
  • 小数点以下の桁数指定
  • パーセント表示
  • 指数表記

このように、さまざまな書式で出力することができます。

まとめ

今回、print関数の役割や基本的な使い方、具体的な使用例を説明してきましたがいかがでしたでしょうか。

今回の要点をまとめると以下のようになります。

  • Pythonにおいてprintは文字列や数値を画面に出力する
  • Python2 では print 文、Python3 では print 関数
  • print 関数の書式は「print( 値 )」
  • 区切り文字の変更を行う場合は「 sep=”区切り文字”」
  • 改行しないようにする場合は「 end=’ ’」

冒頭でも触れましたが print はどのようなシチュエーションにも使用できる基本となる関数の一つです。

print 関数がしっかり理解できていないと途中でつまずいてしまいますので、今回説明したことを参考に学習してみてください。

プログラミングの家庭教師『Tech Teacher』


引用元:Tech Teacher

「スクールに通い続ける自信がない…」
「時間がなくてスクールに通えない…」

そんな方にはプログラミングの家庭教師『Tech Teacher』がおすすめです。
Tech Teacherはマンツーマン指導なので、生徒様一人ひとりに最適な指導を行うことができます。また、オンライン指導も可能なので、全国どこにいても家庭教師の授業を受けることができます。

Tech Teacherの3つの特徴


生徒様に最適化されたマンツーマン指導
完全マンツーマンの指導なので、生徒様の目的・学習状況・ご要望に合わせて、最適な指導をご提供いたします。

指導力・人柄・相性の優れた教師のご紹介
Tech Teacherには採用率20%の選考を突破した、指導力の高い教師が在籍しています。また、選考では指導力だけではなく人柄も重視しております。

1,000人の教師が在籍!幅広い指導に対応可能
業界トップレベルの1,000人の教師が在籍しています。そのため、幅広い言語・ツール・目的に対応することができます。

家庭教師ならではの5つの魅力


オーダーメイドのカリキュラム
生徒様一人ひとりに習熟度・目的・期間に応じて最適なカリキュラムを提供いたします。

きめ細やかなフォローが可能
生徒様からのご要望にきめ細やかに対応し、学習計画や勉強法などの指導もできるので、普段の勉強も捗ります。

習い事・学業・お仕事との両立が簡単
教室に通う必要がないので親御様の送迎も不要です。授業時間・頻度を生徒様のご都合に合わせて自由に調節することができます。

自分のペースで進められる
生徒様の理解度や意欲に応じて授業のスピードを調節できます。不明点や疑問点は都度立ち止まって解消できるので、着実に理解して進むことができます。

すぐ質問できるから挫折しない
先生を独り占めできるので、周りの目を気にすることなく分からないところをいつでも質問できます。

Tech Teacherへのお問い合わせ

無料体験授業・資料請求のお問い合わせはこちらから

質問のみのお問い合わせも受け付けております。