Data Science|Basics

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

Pythonを学習し始めたばかりの方で、print関数についてつまずいてしまう人も少なからずいるでしょう。

「Pythonのprintの役割ってどんなのがあるの?」
「Pythonでのprintの基本的な使い方が知りたい」

このような悩みをかかえている方に、Pythonにおけるprintの役割や基本的な使い方、具体的な使用例まで詳しく説明します。


本ブログを運営しているTech Teacherは、業界初のプログラミング家庭教師サービスを提供しています。

その特徴は完全マンツーマン・フルオーダーメイド指導・30分ごとの利用が可能であるところです。

完全マンツーマン

Tech Teacherのマンツーマン指導なら理解できない箇所は何度も分かるまで説明を受けることができます。

フルオーダーメイド指導

Tech Teacherではあらかじめ決められたカリキュラムはありません。そのためご自身の学習状況や学びたいことに合わせた指導が可能です。

一括支払いなし

一般的なプログラミングスクールの料金体制はカリキュラムに対して一括払いですが、Tech Teacherでは利用した分だけの支払いとなります。そのため、大きな費用負担がなく気軽に始めることができます。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

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

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

「Tech Teacherで!~家庭教師ならではの3つの魅力~」

本Blogを運営するプログラミング家庭教師Tech Teacherは以下のような疑問をすべて解決できるサービスです。

・Pythonの応用をもっと学びたいが、値段が高いスクールに通うのは気が引ける

・目的別に短時間の利用ができるサービスがあったらいいな

比較対象 Tech Teacher プログラミングスクールA社
受講形態
1対1

1対3~5
担当教師
担任教師
×
講座別の講師
カリキュラム
自分専用指導

全員指導
仕事・学業との両立
可能
×
不可能
メンター制度
担任教師

異なる担当
料金
授業分だけ
×
一括払い
初期費用
入会金
22,000円
×
一括払い
528,000円
シミュレーション
(3ヶ月90分の指導を週1で行う)

164,500円
×
528,000円

以下、Tech Teacherの3つの魅力を紹介します。

Pythonをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

1.効率的な学習スタイル

一人のためだけの指導~1対1の完全個別指導~

一般的なプログラミングスクールでは大人数の対面講義や、録画講義の視聴またはオンラインでの受講がメインです。そうなると学習しながら生じた疑問をすぐに聞くことができずに、先に進んでしまい内容をうまく理解できなかったり、作業がうまく進まなかったりします。

家庭教師であれば、マンツーマンのため自分の課題にだけ焦点を当てて指導を受けられるので、1回の授業を濃い時間にすることができます。

無駄のない学習~フルオーダーメイド~

Tech Teacherは一般的なプログラミングスクールと異なり、あらかじめ決められたコースやカリキュラム設定がありません。
一般的なプログラミングスクールのカリキュラムでは、自分が本当に学習したいことを学ぶのにいくつか他の講義を受けなければなりません

Tech Teacherでは生徒様の現状の習熟度・目的・期間に応じてお悩みにダイレクトに刺さる授業を展開し、最短で目標となるゴールを目指せます。

2.自分のペースで学習できる

必要な分だけ~従量課金モデル~

Tech Teacherでは、他にはない「短時間(30分ごと)」の利用が可能です!勉強していてちょっとわからないところ、プログラミング学習のモチベーション維持など様々な疑問や悩みを解決することができます。
授業を受けた分だけ後払いする料金体系(3,960円〜 / 30分)のため、必要な期間に必要な分だけ受講できます。

好きな時間で~相性のいい教師の紹介~

Tech Teacherではあらゆるニーズに対応できる教師陣がいるため、生徒様の希望条件に最適な教師を紹介します。

Tech Teacherを受講している方のほとんどが仕事をしている社会人の方です。TechTeacherの家庭教師なら受講日時や回数を、生徒様のご都合に合わせて柔軟に調整することができ、スキルだけでなく都合の良い時間で指導できる教師を選べます。

3.確実に身につく

挫折しない~担任教師の継続指導~

オンライン・オンデマンドの講義の視聴形態だと、学習に対するモチベーションの維持が課題となり、当初の予定よりも受講期間が伸びたり、挫折したりする恐れがあります。

Tech Teacherでは、担任教師が生徒と二人三脚で学習をするため、学習が大変なときも寄り添ったサポートを受けられます。

具体的には学習計画の管理や受講目的を明確にした上で中間目標を設定し、それに向けた学習の指導をすることでモチベーションの維持を図ります。

いつでも質問できる~チャットサポート(オプション)~

担当教師は授業の時間以外に、チャットサービスを利用して、自分で学習しているときに生じた疑問をすぐに質問して解決することができます。

Javaをマンツーマン指導で学べるプログラミング家庭教師について詳しく知りたい方ほこちら

Tech Teacherへのお問い合わせ

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

まとめ

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

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

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

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

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

このブログでは他にもPythonの学習に役立つ情報を発信しています!ぜひご覧ください。

https://www.tech-teacher.jp/blog/python-range/

Pythonでディープラーニングを行う方法!必要なスキル・準備を解説Pythonでのディープラーニングを学びたいが、ディープラーニングがそもそも何なのか分かっていない、という方はいますか。本記事ではPythonでのディープラーニングについて解説します。ディープラーニングに興味のある方はぜひお読みください。...

https://www.tech-teacher.jp/blog/python_self_study/