【Python】printで文字と変数を出力する方法

【Python】printで文字と変数を出力する方法

公開: 更新:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

Python変数の値とテキストを組み合わせて画面に表示させる場面は、デバッグ作業やログ出力など、プログラムの動作確認で頻繁に発生します。文字列と変数を出力する手段としてよく使われるのが「print関数」で、用途に応じた複数の記法を用いることによって、直感的で可読性の高いコードを実現できます。

この記事では、Pythonprint関数で文字と変数を一緒に出力する基本的な使い方を解説していきます。エラーを防ぐための型変換の注意点なども含め、サンプルコード付きで解説していきますので、ぜひ参考にしてください。



Pythonのprintで文字と変数を出力する方法

文字列と変数を組み合わせた出力には、目的に合わせた以下の4つのアプローチが存在します。

手法 特徴
f-string コードが短く可読性が高い
str.format()メソッド インデックスやキーワードで柔軟に指定可能
カンマ区切り 型エラーが起きず、自動でスペースが挿入される
+演算子 文字列型のみ結合可(数値型変数は直接使用不可)

それぞれ特徴が異なるため、用途に応じて使い分けると読みやすいコードを実現できます。詳細は以下で解説します。

f-stringを使用して出力する

Python 3.6以降で導入されたf-string(フォーマット済み文字列リテラル)を利用すると、文字列内に変数や(expression)を直接埋め込めます。変数だけではなく計算式やメソッド呼び出しなど変数・演算・メソッド呼び出しなどのPython式も波括弧内に記述できます。

f-stringの使い方は、文字列の先頭に「f」または「F」を付け、変数を波括弧({})で囲みます。

name = "Python"
version = 3
print(f"言語は{name}で、バージョンは{version}です")

上記のコードでは、文字列の中に直接変数が展開され、直感的な記述で出力されます。

コードが短く可読性が高いため、Python 3.6以降で標準的な手法として定着しています。

str.format()メソッドを使用して出力する

str.format()メソッドは、文字列型(str)のインスタンスメソッドで、文字列内のプレースホルダー({})に対して引数で渡した変数を順番に埋め込みます。

str.format()メソッドの使い方は、文字列の後に「.format()」を繋げ、引数に変数を与えます。

name = "Python"
version = 3
print("言語は{}で、バージョンは{}です".format(name, version))

上記のコードでは、中括弧の順番に従って変数が代入され出力されます。

インデックスやキーワード引数を指定した柔軟なフォーマットも可能で、複雑な文字列生成に役立ちます。


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

カンマ区切りを使用して出力する

関数の引数に文字列や変数をカンマ(,)で区切って複数渡すことによって、それらを並べて出力できます。

カンマ区切りの使い方は、括弧内に変数や文字列をカンマで並べるだけです。

name = "Python"
version = 3
print("言語は", name, "で、バージョンは", version, "です")

上記のコードでは、各引数の間にデフォルトで半角スペースが挿入されて出力されます。

print()関数は数値や文字列など通常のであれば明示的な型変換なしで出力できます(内部で各引数の__str__メソッドを呼び出す仕組みのため)。区切り文字を変更したい場合はsepパラメータで制御できます(詳細はよくある質問を参照)。

+演算子を使用して出力する

演算子を使用すると、複数の文字列同士を結合して1つの文字列として出力できます。なお、+演算子はprint関数の機能ではなくPythonの文字列結合演算子であり、結合された文字列をprint関数に渡す仕組みです。

+演算子はstr型のみに使えるため、下記の例では version を文字列型("3")で定義しています。f-stringやカンマ区切りの例と変数の型が異なる点に注意してください。

name = "Python"
version = "3"
print("言語は" + name + "で、バージョンは" + version + "です")

上記のコードでは、文字列同士が隙間なく結合されて出力されます。

数値型の変数と文字列型を直接結合するとTypeErrorが発生します。詳しい原因と対処方法は次のセクションで解説します。

Pythonの変数と文字列の連結エラーを防ぐ方法

+演算子を用いてテキストと数値をそのまま結合しようとすると、例外処理をしていない場合は処理が中断します。

このような意図しないエラーを未然に防ぎ、安定した出力を実現するための手法を順番に解説します。

TypeErrorが発生するケースとその原因

Pythonでは、異なるデータ型をそのまま連結しようとすると、TypeErrorが発生します。特に、テキストデータと数値を+演算子で繋ぐ場面で頻発するエラーです。

以下のコードは、型エラーが発生する典型的な例です。

text = "現在の温度は"
temp = 25
print(text + temp + "度です")

上記のコードを実行すると、TypeError: can only concatenate str (not "int") to strというエラーメッセージが表示されます。このメッセージは「str型にはstr型しか連結できない(int型は連結できない)」という意味で、temp整数型であることが原因です。

意図しない動作を避けるためには、各変数のデータ型を正確に把握しておくアプローチが有効です。


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

str関数を用いてデータ型を変換する

数値をテキストとして扱いたい場合は、str関数を用いて明示的に型を変換します。データ型を揃えることによって、+演算子による安全な連結が可能です。

str関数を利用してエラーを回避する使い方は、以下のとおりです。

text = "現在の温度は"
temp = 25
print(text + str(temp) + "度です")

上記のコードでは、数値が代入された変数を文字列に変換してから連結しているため、エラーを発生させずに結果を出力できます。

データ型を統一する仕組みを理解しておくと、バグの少ないコードを記述する際に役立ちます。

Pythonのprintの文字と変数に関するよくある質問

print関数で改行せずに出力できますか?

print関数で改行せずに出力するには、引数endに空の文字列を指定します。

デフォルトでは出力の末尾に改行文字が追加される仕様です。end=""と設定することによって、次の出力が同じ行に続けて表示されます。

複数の変数を空白なしで出力できますか?

複数の変数を空白なしで出力するには、print関数の引数sepに空の文字列を指定します。

カンマ区切りで変数を渡すとデフォルトで半角スペースが挿入されます。sep=""を指定すれば、スペースをなくして隙間なく結合して表示されます。

リストや辞書のデータをそのまま出力できますか?

リストや辞書のデータも、変数名をそのままprint関数に渡すだけで中身を出力できます。

そのまま出力した際に構造が複雑で読みづらい場合は、pprintモジュールpprint.pprint()関数を活用すると、整形して見やすく表示されデバッグがしやすくなります。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する