Select Language

AI Technology Community

2.5、Python整数と文字列の相互変換

ある場合には、私たちが得られる型は整数ではありませんが、それが整数の意味を表していることは分かっています。そのため、整数に変換してから関連する操作を行いたいと思います。

たとえば、ユーザーの入力から国語のテストの成績を取得し、その最高点、最低点、平均点を計算するとします。ユーザーのキーボードから得られるのは文字列ですが、それが整数の意味を表していることは分かっているので、統計処理を行う際には整数に変換する必要があります。

1. 文字列から整数への変換

int() を使って文字列から整数を得ることができます。

>>> a = int("1000")   # 入力は文字列    
>>> type(a)           # 型を確認
<class 'int'>         # 型は整数型
>>> a                 # 結果の値を確認
1000


文字列の形式が正しくない場合、たとえば入力文字列が「100.abc」の場合、例外が発生し、特別な処理が必要になります。

>>> a = int("1000.8766")               # 入力された文字列は不正です    
Traceback (most recent call last):     # 例外が発生しました
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1000.8766'
>>> a = int("a1000")                   # 入力された文字列は不正です
Traceback (most recent call last):     # 例外が発生しました
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a1000'


入力された文字列が10進数形式ではなく、8進数形式の場合、進数変換を行うことができます。使い方は次の通りです。

>>> a = int("20", 8)   # 8進数で表された数20
>>> a                  # 結果の値を確認
16                     # 10進数では16
>>> int("1111", 2)     # 2進数で表された数1111
15                     # 10進数では15

2. 整数から文字列への変換

str() を使って文字列の結果を得ることができます。

>>> a = str(12)   # 入力は整数
>>> type(a)       # aの型を確認
<class 'str'>     # 出力aは文字列
>>> a             # aの値を確認
'12'              # 注意''は文字列を表します

3. 浮動小数点数から整数への変換

int() を使って浮動小数点数から整数を得ることもできます。

>>> int(12.0)   # 入力は浮動小数点数
12              # 得られるのは小数部分を除いた値
>>> int(12.9)   # 入力は浮動小数点数
12              # 四捨五入されません


post
  • 26

    item of content
Pythonの基本データ型は全部で26章あります。
この章では、整数型、浮動小数点数、文字列、ブール型、リスト、タプル、セットおよび辞書など、Pythonが提供する基本的なデータ型について紹介します。また、これらのデータ型に対する演算操作についても解説します。
私たちはPythonが強タイプ言語であることを知っています。つまり、各変数の型は特定の時点でのみ確定します。言い換えれば、Pythonにおける任意の生存しているオブジェクトの型は一意です。異なる型のオブジェクトには異なる属性があり、異なる操作を実行できます。
さらに、この章の最後では変数やオブジェクトなどの概念についても触れられます。それぞれのオブジェクトには確定した型があり、各変数は特定のオブジェクトを指し示します。