まず結論
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 を文字列にすると、文章の一部として表示できます。
3行まとめ
- str()は、値を文字列に変換するために使う。
- 数値を文章とつなげて表示したいときによく使う。
- 文字列にすると、計算用の数値ではなく文字として扱われる。