※このページではアフィリエイト広告を利用しています

【Python入門】文字列と数値を組み合わせる方法(str()の使い方)

Python

Pythonで文字列と数値を一緒に出力しようとしたときに、エラーが出て困った経験はありませんか?

この記事では、数値(int型やfloat型)を文字列として扱う方法をわかりやすく解説します。

この記事でわかること
  • 数値を文字列として扱う方法(str()の使い方)
  • なぜ型の変換が必要なのか
  • エラーの原因とその解決法
  • 文字列に数値を挿入する他の方法(format() / f文字列)
スポンサーリンク
スポンサーリンク

そもそも「型」ってなに?

Pythonには、「データの種類(型)」という概念があります。

データ型(type)
"Hello"str(文字列型)
1000int(整数型)
3.14float(小数型)

異なる型は、直接足し算・連結できません

よくあるエラー(失敗例)

sum = 1000
print("代金は" + sum + "円です")

「sum」はこのままでは出力できません。実行してみると以下のようなエラーが出ます。

TypeError: must be str, not int

これは型式が違うために出るエラーになります。エラーの内容は型が違うというものです。この場合「sum」を文字列に型式変換する必要があります。

解決方法①:str()関数で数値を文字列に変換する

price = 1000
print("代金は" + str(price) + "円です") 

出力結果

代金は1000円です

str() で整数(int)を文字列(str)に変換すれば、+ で連結できます!

解決方法②:「,(カンマ)」で区切る

price = 1000
print("代金は", price, "円です")

この書き方なら、型が違っても自動的にスペース区切りで出力されます。

出力結果

代金は 1000 円です

ただし、カンマで区切った部分の間には スペースが入る ので注意が必要です。

解決方法③:format() を使う

price = 1000
print("代金は{}円です".format(price))

出力結果

代金は1000円です

{} の中に format() の引数が入ります。複数の値を代入することもできます。

>>>format()関数を用いた文字列代入

解決方法④:f文字列(Python3.6以降)

Python 3.6以降では、**f文字列(f-string)**という便利な記法が使えます。

price = 1000
print(f"代金は{price}円です")

出力結果

代金は1000円です

最も読みやすく、現在のPythonでは推奨されている書き方です。

まとめ:文字列と数値を組み合わせる4つの方法

方法特徴
str()で変換"代金は" + str(price) + "円"文字列連結向け
, で区切るprint("代金は", price, "円")型を気にせず使える
format()関数"代金は{}円".format(price)古くからある標準的手法
f文字列f"代金は{price}円"最新・推奨の書き方

補足:数値同士の演算との違い

数値同士なら型が同じなので、通常の演算が可能です。

a = 100
b = 200
print(a + b)  # → 300

ただし、文字列と数値は別物です!

print("100" + "200")  # → "100200"(結合)

これは数値の足し算ではなく、文字列の連結になるので注意!

よく使う型変換まとめ

関数説明
str()数値などを文字列に変換
int()文字列や浮動小数を整数に変換
float()整数や文字列を小数に変換

📌 関連記事

タイトルとURLをコピーしました