まず結論

str() は、値を文字列に変換するためのものです。

age = 12
message = "年齢は" + str(age)
print(message)

このコードでは、数値の 12 を文字列の "12" に変えています。

そのため、文章とつなげて表示できます。

こんなときに読む記事です

次のようなところで止まった人向けです。

  • 数値を文章に混ぜて表示したい
  • str(age) の意味が分からない
  • 文字列と数値を + でつなげてエラーになった

ここでは、f文字列の詳しい書き方までは扱いません。

絵で見るなら

str() は、数値ブロックを文字のリボンへ変えるゲートのようなものです。

12 のままなら計算に使う数値です。

str() を通して "12" になると、文章に貼れる文字として扱えます。

表示のために使う

数値を文字列とつなげたいとき、そのままではエラーになります。

age = 12
print("年齢は" + age)

表示用にするなら、str() で文字列にします。

age = 12
print("年齢は" + str(age))

これで、年齢は12 のように表示できます。

計算したいなら数値のまま

str() を使うと、値は文字列になります。

number = str(12)
print(number + "3")

この場合、計算ではなく文字としてつながります。

計算したいなら、数値のまま使います。

number = 12
print(number + 3)

変換の向き

int() は、文字を数値に変える道具です。

str() は、数値などを文字列に変える道具です。

計算したいなら数値へ。
表示したいなら文字列へ、と考えると選びやすいです。

よくある勘違い

str() は、値を「見た目だけ」変えるのではありません。

str() を使ったあとの値は、文字列として扱われます。

そのあとで数値として計算したい場合は、文字列に変える前の値を使います。

読み方のコツ

str(value) は、次のように読みます。

value を文字列に変える

表示用にしたいのか、計算したいのかを先に決めると、使う変換を選びやすくなります。

手を動かすミニ練習

数値を文字列に変えて、文章とつなげてみましょう。

count = 3
print("りんごは" + str(count) + "個です")

count を文字列にすると、文章の一部として表示できます。