値には種類がある。異なる値どうしは計算できない。となると、例えば「テキストとして用意した数字を使って計算する」なんてことは不可能になってしまいますね。
が、もちろん、そんなことはありません。ちゃんとや利用があります。Pythonには、値を異なる種類に変換するための機能が用意されているのです。とりあえず、以下のものだけしっかり覚えておきましょう。
int( 値 ) ――()内の値を整数に変換します。
float( 値 ) ――()内の値を実数に変換します。
str( 値 ) ――()内の値をテキストに変換します。
bool( 値 ) ――()内の値を真偽値に変換します。
このように、ある種類の値を別の種類に変換することを「型変換」、英語で「
キャスト」といいます。
では、下にキャストの簡単なサンプルを挙げておきます。こんな具合にしてテキストと整数を変換しながら使えばいいわけですね。
■テキストに値をまとめる
値のキャストは、「計算するのに値を揃える」という場合もありますが、それよりもよく使うのが「printで値を出力するため」でしょう。printは、どんな値でも出力できるのですが、テキストを使って値を加工しようとすると途端にトラブってしまったりします。
a = 123
b = 456
c = a + b
print(c)
これは、ごく単純なサンプルですね。ところが、これを少し加工しようとすると途端に問題が発生します。
a = 123
b = 456
c = a + b
print('answer:' + c)
いきなりのエラー。なぜこんなことになるのか?というと、
printの()に書いた
'answer:' + cが原因です。テキストとつなげて表示しようとしたために、「変数cはテキストじゃないよ」とエラーになったのですね。テキストを+記号でつなげるためには、つなぐ値もテキストでないといけません。
a = 123
b = 456
c = a + b
print('answer:' + str(c))
これで問題なく動くようになりました。
printの()を見ると、
'answer:' + str(c)というようになっています。変数cをstrでテキストにキャストしたことで正常に動くようになったのですね。
このように、「テキストで値をまとめようとして逆にエラーが起こるようになった」ということは、初心者の内はしょっちゅうやってしまうものです。printでエラーが起こったら、まず「値のキャスト、値のキャスト」と頭の中で繰り返しましょう。