Pythonでは、文字列や数値、変数の値などを画面に表示したいことがあります。
そんなときに使うのが、print関数です。
この記事では、Pythonのprint関数とは何なのか、基本的な使い方やsep・endの使い方について、わかりやすく解説します。
print関数とは?
print関数は、文字列や数値、変数の値などを出力するための関数です。
基本的な書き方は次のとおりです。
print(出力したい値)例えば、"Hello"という文字列を表示する場合は、次のようにします。
print("Hello")実行結果は次のようになります。
Helloこのように、print関数を使うことで、指定した値を画面に表示できます。
print関数でさまざまな値を出力する
print関数では、文字列や数値、変数の値などを出力できます。
例えば、文字列を出力する場合は、文字をダブルクォーテーション"またはシングルクォーテーション'で囲みます。
print("Python")
# Python
print('Hello')
# Hello整数や小数などの数値も出力できます。数値の場合は、文字列のように"や'で囲む必要はありません。
print(100)
# 100
print(12.5)
# 12.5なお、次の2つは見た目は同じように出力されますが、Pythonでは異なる値です。100は整数のint型、"100"は文字列のstr型です。
print(100)
# 100
print("100")
# 100また、print関数には変数を指定することもできます。この場合、変数nameに入っている"Python"と、変数ageに入っている20がそれぞれ出力されます。
name = "Python"
age = 20
print(name)
# Python
print(age)
# 20さらに、リストや辞書などの値もそのまま出力できます。
例えば、リストを出力する場合は次のようにします。
languages = ["Python", "Java", "JavaScript"]
print(languages)
# ['Python', 'Java', 'JavaScript']辞書も同じように出力できます。
user = {"name": "Taro", "age": 20}
print(user)
# {'name': 'Taro', 'age': 20}このように、print関数では文字列や数値だけでなく、リストや辞書など、さまざまな値を出力できます。
print関数で複数の値を出力する
print関数では、複数の値をカンマ,で区切って指定できます。
print("Python", "Java", "JavaScript")
# Python Java JavaScript複数の値を指定すると、デフォルトでは値と値の間に半角スペースが入ります。
文字列と数値を一緒に指定することもできます。
name = "Taro"
age = 20
print("名前:", name, "年齢:", age)
# 名前: Taro 年齢: 20sepで値の区切り文字を変更する
print関数で複数の値を出力すると、デフォルトでは値の間が半角スペースで区切られます。
print("Python", "Java", "JavaScript")
# Python Java JavaScriptこの区切り文字を変更したい場合に使うのが、sep引数です。
sepは「separator(区切り)」を意味し、複数の値の間に入れる文字を指定できます。
print("Python", "Java", "JavaScript", sep=",")
# Python,Java,JavaScript例えば、ハイフン-で区切ることもできます。
print("Python", "Java", "JavaScript", sep="-")
# Python-Java-JavaScript区切りをなくしたい場合は、空文字""を指定します。
print("Python", "Java", "JavaScript", sep="")
# PythonJavaJavaScriptendで出力の最後の文字を変更する
print関数を続けて実行すると、通常はそれぞれ別の行に表示されます。
print("Hello")
print("Python")
# Hello
# Pythonこれは、print関数ではデフォルトで出力の最後に改行が追加されるためです。
出力の最後に追加する文字を変更したい場合は、end引数を使います。
例えば、改行せずに続けて表示したい場合は、end=""とします。
print("Hello", end="")
print("Python")
# HelloPythonスペースを入れて同じ行に表示することもできます。
print("Hello", end=" ")
print("Python")
# Hello Pythonまた、出力の最後に任意の文字を追加することもできます。
print("Python", end="!")
# Python!endを省略した場合は、デフォルトで"\n"が使用されます。\nは改行を表します。
sepとendを同時に使う
sepとendは、同時に指定することもできます。
print("Python", "Java", "JavaScript", sep=", ", end="!")
# Python, Java, JavaScript!この場合、sep=", "によって値の間に, が入り、end="!"によって最後に!が追加されます。
sepとendの違いをまとめると、次のようになります。
| 引数 | 役割 | デフォルト |
|---|---|---|
sep | 複数の値の間に入れる文字を指定する | 半角スペース |
end | 出力の最後に追加する文字を指定する | 改行\n |
print関数で改行する
文字列の途中で改行したい場合は、改行を表す\nを使います。
print("Hello\nPython")
# Hello
# Python\nが記述されている位置で改行されます。
また、引数を指定せずにprint()を実行することで、空の行を出力することもできます。
print("Hello")
print()
print("Python")
# Hello
#
# Pythonprint関数で計算結果を出力する
print関数には、計算式を直接指定することもできます。先に計算が行われ、その結果がprint関数によって出力されます。
print(10 + 20)
print(10 * 5)
# 30
# 50文字列と変数を組み合わせて出力する
実際のプログラムでは、文字列と変数の値を組み合わせて表示することもよくあります。
簡単な方法は、複数の値をカンマで区切って指定する方法です。
name = "Taro"
age = 20
print("名前は", name, "です")
print("年齢は", age, "歳です")
# 名前は Taro です
# 年齢は 20 歳ですただし、この方法では値の間に自動的に半角スペースが入ります。
文字列の中に変数の値を埋め込みたい場合は、f文字列を使う方法もあります。
name = "Taro"
age = 20
print(f"名前は{name}です")
print(f"年齢は{age}歳です")
# 名前はTaroです
# 年齢は20歳ですf文字列では、文字列の先頭にfを付け、変数や式を{}の中に記述します。なお、このコードでは、半角スペースは入りません。
あわせて読みたい
『Pythonのf文字列(f-strings)』については下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。 続きを見る
Pythonのf文字列(f-strings)とは?わかりやすく解説します!
print関数で特殊な文字を出力する
Pythonでは、\nのように、バックスラッシュ\から始まる特殊な記述を使うことがあります。これをエスケープシーケンスといいます。
よく使われるものには、次のようなものがあります。
| 記述 | 意味 |
|---|---|
\n | 改行 |
\t | タブ |
\\ | バックスラッシュ |
\" | ダブルクォーテーション |
\' | シングルクォーテーション |
例えば、\tを使うとタブを入れることができます。
print("Python\tJava")
# Python Java文字列を囲んでいるダブルクォーテーションそのものを表示したい場合は、次のようにします。
print("I like \"Python\"")
# I like "Python"print関数の主な引数
print関数は、概念的には次のような形式で使用できます。
print(*objects, sep=" ", end="\n", file=None, flush=False)上記のように、sep・end・file・flushを指定する場合は、sep=","やend=""のように引数名を付けて指定します。
主な引数をまとめると、次のようになります。
| 引数 | 説明 |
|---|---|
*objects | 出力する1つ以上の値を指定する |
sep | 複数の値の区切り文字を指定する |
end | 出力の最後に追加する文字を指定する |
file | 出力先を指定する |
flush | 出力をすぐに反映するかを指定する |
通常のプログラムでは、まずsepとendを覚えておけば十分です。fileやflushは、必要になったときに覚えるとよいでしょう。
fileは、出力先を変更したい場合に使用します。通常は標準出力(多くの場合は画面)に出力されますが、ファイルなどを指定することもできます。この場合、Pythonは画面ではなくoutput.txtに書き込まれます。
with open("output.txt", "w") as f:
print("Python", file=f)flushは、出力内容をすぐに出力先へ反映するかどうかを指定する引数です。通常はFalseで、出力内容がバッファに一時的にためられることがあります。Trueを指定すると、バッファにためられている内容をすぐに出力します。
例えば、時間のかかる処理の進捗状況をすぐに表示したい場合などにflush=Trueが使われることがあります。
import time
for i in range(3):
print(".", end="", flush=True)
time.sleep(1)
# ...この例では、1秒ごとに.が出力されます。
print関数はどんなときに使う?
print関数は、ユーザーに文字や計算結果を表示するときだけでなく、プログラムを作っている途中で変数の値を確認するときにもよく使います。
例えば、次のプログラムを考えてみます。
price = 1000
quantity = 3
total = price * quantity
print(total)実行すると、変数totalにどのような値が入っているのかを確認できます。
3000このように、print関数はプログラムの実行結果を表示したり、処理の途中に入っている値を確認したりするときに便利です。
本記事のまとめ
この記事では「Pythonのprint関数」について、以下の内容を説明しました。
print関数は文字列や数値、変数の値などを出力するために使用する- リストや辞書など、さまざまな値を出力できる
- 複数の値をカンマで区切って出力できる
sepを使うと、複数の値の区切り文字を変更できるendを使うと、出力の最後に追加する文字を変更できる\nを使うと、文字列の途中で改行できる- 文字列と変数を組み合わせる場合は、f文字列を使う方法もある
fileを使うと出力先を変更でき、flushを使うと出力をすぐに反映できる
Pythonで文字列や変数の値、計算結果などを画面に表示したい場合は、print関数を使います。特にsepとendを覚えておくと、出力形式を柔軟に変更できるようになります。
お読みいただきありがとうございました。