このチュートリアルでは、Pythonで文字列を整数に変換し、整数を文字列に変換する方法を学びます。前のチュートリアルでは、Pythonのリストに追加関数について学びました。
Pythonの文字列を整数に変換する
前のチュートリアルを読んだ場合、この変換を使用したことに気付くかもしれません。実際、これは多くの場合に必要です。例えば、ファイルからデータを読み取っている場合、それは文字列形式であり、文字列を整数に変換する必要があります。さて、コードに移りましょう。文字列で表された数値を整数に変換するには、int()
関数を使用する必要があります。以下の例を参照してください。
num = '123' # string data
# 型を出力する
print('Type of num is :', type(num))
# int()を使用して変換する
num = int(num)
# 型を出力する again
print('Now, type of num is :', type(num))
上記のコードの出力は次のとおりです
Type of num is : <class 'str'>
Now, type of num is : <class 'int'>

異なる基数から文字列を整数に変換する
もし変換したい文字列が、10進数以外の異なる基数に属している場合は、変換のための基数を指定できます。ただし、出力される整数は常に10進数です。また、与えられた基数は2から36の間である必要があることを覚えておいてください。基数引数を使用した文字列から整数への変換を理解するための以下の例を参照してください。
num = '123'
# 元の文字列を出力
print('The original string :', num)
# '123'が10進数であると仮定し、10進数に変換
print('Base 10 to base 10:', int(num))
# '123'が8進数であると仮定し、10進数に変換
print('Base 8 to base 10 :', int(num, base=8))
# '123'が6進数であると仮定し、10進数に変換
print('Base 6 to base 10 :', int(num, base=6))
次のコードの出力は

Stringをintに変換する際のValueError
文字列から整数に変換する際に、ValueError
例外が発生する可能性があります。この例外は、変換したい文字列が数値を表していない場合に発生します。例えば、16進数を整数に変換したい場合を考えてみましょう。しかし、int() 関数に引数 base=16 を渡していない場合、10進数の数字でないものが含まれている場合に ValueError
例外が発生します。次の例でこの例外が発生する様子を示します。
"""
Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12' # this is a hexadecimal value
# 変換中に変数は10進数値と見なされます
print('The value is :', int(num))
# 変換中に変数は16進数値と見なされます
print('Actual value is :', int(num, base=16))
"""
Scenario 2: The interpreter will raise ValueError exception
"""
num = '1e' # this is a hexadecimal value
# 変換中に変数は16進数値と見なされます
print('Actual value of \'1e\' is :', int(num, base=16))
# 変換中に変数は10進数値と見なされます
print('The value is :', int(num)) # this will raise exception
上記のコードの出力は次のとおりです:
The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in
print('The value is :', int(num)) # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'

Python int to String
整数を文字列に変換するには、何の努力も不要で、何もチェックする必要もありません。変換には単に str()
関数を使用します。次の例をご覧ください。
hexadecimalValue = 0x1eff
print('Type of hexadecimalValue :', type(hexadecimalValue))
hexadecimalValue = str(hexadecimalValue)
print('Type of hexadecimalValue now :', type(hexadecimalValue))
以下のコードの出力は次のとおりです:
Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>

これで、Pythonで文字列を整数に変換し、整数を文字列に変換する方法について説明しました。参照:Python 公式ドキュメント
Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string