文字列と数値

前回までにも登場しましたが、文字列と数値の違いをおさらいします。

str = '123'
# コーテーションで囲むと文字列
num = 123
# 数字だけだと数値

これらは一見同じように出力されますがプログラム上の意味はまったく違います。
例えば下記のようにそのまま+するとエラーが発生します。
(TypeError : unsupported operand type(s) for + プラス記号でサポートされてないオペランドの型です。)

ans = str + num
# エラーがでます

文字列を数値(整数)に変換

その場合、以下の方法をすることで解消できます。
まずは数値に揃えるやり方。

ans_num = int(str) + num
print(ans_num)
# 246 と出力される

これはint関数といい、int(文字列)で数値に変換できます。
intはinteger 整数の意味で、整数の変換のみに対応しています。
(小数を扱う場合はfloat()やlong()を使います)

数値を文字列に変換

ans_str = str + str(num)
print(ans_str)
# 123123 と出力される

int関数と同様にstr関数というものを使います。
strはstring 文字列の意味です。
こちらは小数も同じように変換できます。

これらは別のプログラムやユーザからの入力により受け取った数字の文字列を数値として扱う場合や、
演算結果の数値を出力して表示する際など使用する機会は少なくないでしょう。