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

文字列の演算子と数値

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

Pythonでは、文字列はこれまで使ってきたような数値とはまったく違った種類のデータとして扱われています。

数値同士の足し算では、値と値を加算した結果が得られます。整数の 123456 を足せば、579 になります。

In [5]:
123 + 456
Out[5]:
579

しかし、文字列同士の足し算は、文字列の連結になります。文字列の "123""456" を足すと、"123456" になります。

In [6]:
"123" + "456"
Out[6]:
'123456'

また、数値と文字列を足すと、次のようなエラーになり、加算することはできません。

In [3]:
123 + "456"
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-3-cf0bc07b5dc6> in <module>
----> 1 123 + "456"

TypeError: unsupported operand type(s) for +: 'int' and 'str'

文字列の数値化

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

In [10]:
text = "123"
print(int(text))
123

int() をつかって、文字列 "123""456" を、数字に変換してから足してみましょう。

In [12]:
text1 = "123"
text2 = "456"

print(text1, "と", text2, "を足すと", int(text1) + int(text2), 'になります')
123 と 456 を足すと 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'


Python.jp Discordサーバ

Discord によるチャットサービスです。情報交換・質問・雑談などにご利用ください。

【Copyright © 2001-2020 python.jp】 【Privacy Policy】 python_japan