原文: Python Print Variable – How to Print a String and Variable

Python は幅広い用途に使える柔軟性の高い言語で、何かを実現する方法が複数存在することもよくあります。

このチュートリアルでは、文字列と変数を一緒に出力する方法をいくつか紹介します。

では始めましょう。

Python の print() 関数の使い方

Python で何かを出力に表示するには print() 関数を使います。キーワード print の後に 1 組の丸括弧 () を続ける構文です。

# 文字列の出力方法
print("Hello world")

# 整数の出力方法
print(7)

# 変数の出力方法
# 変数の内容だけを出力するには、括弧に変数名を入れます

fave_language = "Python"
print(fave_language)

# 出力

# Hello world
# 7
# Python

括弧を省略するとエラーが発生します。

print "hello world"

# コードを実行した際の出力内容:
# File "/Users/dionysialemonaki/python_articles/demo.py", line 1
#     print "hello world"
#     ^^^^^^^^^^^^^^^^^^^
# SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Visual Studio Code で Python 拡張機能を使って Python のコードを書いている場合には、誤りがあることを示す下線とヒントも表示されることでしょう。

Screenshot-2021-12-07-at-3.08.14-PM

先ほど述べたように、print 文はさまざまな情報を出力するために使われます。テキストデータ、数値データ、変数やその他のデータ型などを出力できます。

そして 1 つの文でテキスト (文字列) と変数を組み合わせて出力することも可能です。

ここから、その方法をいくつか見ていきましょう。

連結 + を使用して、Python の変数と文字列を出力する

concatenate (連結) を辞書で調べると、何かを鎖状やひと続きに繋げることという意味が出てきます。

連結は、Python の加算演算子 + を使用して、さまざまな物 (データ) を互いに足し合わせて実行します。

連結は文字列に対してのみ使用できることに注意してください。つまり、文字列と連結したい変数が整数型の場合、変数を str() 関数で文字列に変換しなくてはなりません。

下記は、変数の値を他のテキストと一緒に出力したい場合の例です。

ダブルクォートで囲んだ文字列と、囲んでいない変数名を、加算演算子を使って連結しています。

fave_language = "Python"

print("I like coding in " + fave_language + " the most")

# 出力
# I like coding in Python the most

文字列の連結では、スペースを自分で追加しなければなりません。もし上記の例で引用符の内側にスペースを入れなかった場合、出力は次のようになります。

fave_language = "Python"

print("I like coding in" + fave_language + "the most")

# 出力
# I like coding inPythonthe most

スペースを分けて連結しても構いません。

fave_language = "Python"

print("I like coding in" + " " + fave_language + " " + "the most")

# 出力
# I like coding in Python the most

ただこの方法はエラーを引き起こしがちで、手間もかかるため、最善の方法ではありません。

カンマ区切りを使用して、Python の変数と文字列を出力する

テキストと変数をカンマで区切って並べて、1 つの print 文で出力できます。

first_name = "John"

print("Hello",first_name)

# 出力
# Hello John

上記の例では、まずダブルクォートで囲んだテキスト (文字列 Hello) を入れました。

その後にカンマを追加して区切り、そして変数名 (first_name) を入れました。

次のように、変数の後にさらにテキストを追加することも可能です。

first_name = "John"

print("Hello",first_name,"good to see you")

# 出力
# Hello John good to see you

複数の変数を使うこともできます。

first_name = "John"
last_name = "Doe"

print("Hello",first_name,last_name,"good to see you")

# 出力
# Hello John Doe good to see you

各項目をカンマで区切ることを忘れないでください。

上記の例のように、テキストと変数の間にも、変数と変数の間にもカンマを入れて区切ります。

first_namelast_name の間にカンマがないと、次のようなエラーが発生します。

first_name = "John"
last_name = "Doe"

print("Hello",first_name last_name,"good to see you")

# 出力
# File "/Users/dionysialemonaki/python_articles/demo.py", line 4
#     print("Hello",first_name last_name,"good to see you")
#                  ^^^^^^^^^^^^^^^^^^^^
# SyntaxError: invalid syntax. Perhaps you forgot a comma?

上記のように Python のエラーメッセージはとても分かりやすく、デバッグ作業を楽にしてくれます。

文字列のフォーマットを使用して、Python の変数と文字列を出力する

変数の値を追加したい場所に 1 組の波括弧 {} を含めることで、文字列のフォーマットを使用できます。

first_name = "John"

print("Hello {}, hope you're well!")

この例では first_name という変数が 1 つあります。

print 文にはダブルクォートで囲まれた出力対象のテキストが入っています。

その中で、変数 first_name の値を追加したい場所に 1 組の波括弧を入れてあります。

ここでこのコードを実行してみると、次のように出力されます。

# 出力
# Hello {}, hope you're well!

これだけでは変数 first_name の値が出力されませんでした。

変数の値を出力するには、文字列の終わりに文字列メソッド .format() を追加しなければなりません。閉じる側のダブルクォートの直後に、次のように追加します。

first_name = "John"

print("Hello {}, hope you're well!".format(first_name))

# 出力
# Hello John, hope you're well!

複数の変数がある場合には、出力したい変数の数に合わせて波括弧を追加します。

first_name = "John"
last_name = "Doe"

print("Hello {} {}, hope you're well!")

この例では 2 つの変数を作成して、その両方を続けて出力したいので、変数と置き換えたい場所に 2 組の波括弧を追加しました。

ここで .format() メソッドについて、変数名をどの順で渡すかが重要になります。

つまり、メソッドに 1 つ目として渡された変数の値が 1 つ目の波括弧の場所に入り、2 つ目の変数の値が 2 つ目の波括弧の場所に入ります。

メソッドに変数名を渡す際にはカンマで区切ることを忘れないでください。

first_name = "John"
last_name = "Doe"

print("Hello {} {}, hope you're well!".format(first_name,last_name))

# 出力
# Hello John Doe, hope you're well!

メソッドに渡す変数名の順番を入れ替えると、出力も変わります。

first_name = "John"
last_name = "Doe"

print("Hello {} {}, hope you're well!".format(last_name,first_name))

# 出力
# Hello Doe John, hope you're well!

f-strings を使用して、Python の変数と文字列を出力する

f-strings は、文字列のフォーマットを、一つ前のセクションで説明したメソッドよりも読みやすく簡潔に書ける方法です。(訳注: フォーマット済み文字列リテラルとも呼ばれます)

構文が簡単で、手作業が少なく済みます。

f-string を作成する一般的な構文は次の通りです。

print(f"I want this text printed to the console!")

# 出力
# I want this text printed to the console!

まず、print() 関数の中でダブルクォートの前に f の文字を入れます。

変数 1 つと文字列を一緒に出力する場合も、同じようにダブルクォートの前に f の文字を入れます。

そしてダブルクォートの間に出力したいテキストを入れ、変数の値を入れたい場所に波括弧を追加したら、波括弧の中に変数名を入れます。

first_name = "John"

print(f"Hello, {first_name}!")

# 出力
# Hello, John!

複数の変数を出力したい場合は、波括弧の組を追加して 2 つ目の変数名を入れます。

first_name = "John"
last_name = "Doe"

print(f"Hello, {first_name} {last_name}!")

# 出力
# Hello, John Doe!

変数名は順番通りに出力されるため、出力したい順番に合わせて記述してください。

変数名の順番を逆にすると、出力は次のようになります。

first_name = "John"
last_name = "Doe"

print(f"Hello, {last_name} {first_name}!")

# 出力
# Hello, Doe John!

まとめ

最後までお読みいただきありがとうございます!これで、Python で文字列と変数を組み合わせて出力する方法をいくつか学ぶことができました。

Python をもっと詳しく学びたいなら、freeCodeCamp の Python 認定講座をおすすめします。

基礎からスタートして徐々に高度な概念を学んでいくため、初心者にも最適です。また、最後には 5 つのプロジェクトの開発を通して学習した内容を実践できます。

Happy coding!