ゼロからのPython入門講座文字列と入出力 文字列と数値

文字列と入出力文字列文字列の演算子文字列と数値print() 関数input() 関数メソッド

文字列と数値の違いで説明したように、数値と文字列はまったく違った種類のデータです。数値と文字列を足し合わせたりはできません。

しかし、数値を文字列に変換したり、逆に文字列を数値に変換して同じ形式に変換すれば、演算できるようになります。

文字列の数値化

数字だけからなる文字列は、次のように int() を使って整数に変換できます。

In [11]:
text = "123"
int(text)
Out[11]:
123

文字列 "123" と 数値の 456 は、そのままでは加算できません。そこで文字列 "123" を数字に変換してから足してみましょう。

In [9]:
int("123") + 456
Out[9]:
579

また、float()使うと、文字列をfloat型に変換できます。

In [16]:
text = "123.4"
float(text)
Out[16]:
123.4

数字以外の文字は、数値にはできません。次のようなエラーになります。

In [18]:
int("Hello")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-18-5cdea6865089> in <module>
----> 1 int("Hello")

ValueError: invalid literal for int() with base 10: 'Hello'

数値の文字列化

int() を使って文字列を整数に変換するのとは逆に、str() を使って数値を文字列に変換できます。

In [18]:
num = 123  # 整数値
str(num)
Out[18]:
'123'
In [10]:
num = 123.456 # float値
str(num)
Out[10]:
'123.456'

数値を文字列に変換すると、数値と文字を組み合わせて読みやすい文章を作れます。

たとえば、身長の数値データが height という変数に入っているとき、height の値を使って「わたしの身長は xxx cm です。」というメッセージを出力する方法を考えてみましょう。

この場合、height の値は str() で文字列に変換し、前後の わたしの身長は という文字列と、cm です。 という文字列を加算します。

In [21]:
height = 172   # height に 172を代入する
print("わたしの身長は " + str(height) + " cm です")
わたしの身長は 172 cm です
Copyright © 2001-2023 python.jp Privacy Policy python_japan
Amazon.co.jpアソシエイト
Amazonで他のPython書籍を検索