
文字列の数字を数値(整数)として扱いたいんですけど。

組み込み関数の「int()」を使うと数値(整数)に変換できるよ。
はじめに
文字列の数字を整数値に変換します。
用法
classint
(x, base=10)
x が数値でない、あるいは base が与えられた場合、 x は文字列、
bytes
インスタンス、bytearray
インスタンスのいずれかで、基数 base の 整数リテラル で表されたものでなければなりません。 オプションで、リテラルの前に+
あるいは-
を (中間のスペースなしで) 付けることができます。 また、リテラルは余白で囲むことができます。 基数 n のリテラルは、 0 から n-1 の数字に値 10-35 を持つa
からz
(またはA
からZ
) を加えたもので構成されます。 デフォルトの base は 10 です。 許される値は 0 と 2–36 です。 基数 2, 8, 16 のリテラルは、別の記法としてコード中の整数リテラルのように0b
/0B
,0o
/0O
,0x
/0X
を前に付けることができます。 基数 0 はコードリテラルとして厳密に解釈することを意味します。 その結果、実際の基数は 2, 8, 10, 16 のどれかになります。 したがってint('010', 0)
は有効ではありませんが、int('010')
やint('010', 8)
は有効です。
例
pythonval ='10' # 型を確認 print(type(val)) # 値を確認 print(int(val)) # 型を確認 print(type(int(val)))
実行結果<class 'str'> 10 <class 'int'>
引数にプラス(+)やマイナス(ー)をつけることも可能です。
16進数の文字列の場合
pythonval = '0xFF' print( int(val, 16) )
ここでは、16進数の文字列を扱うため引数 base
に 16 を指定しています。16進数の文字列の数値が返されます。
実行結果255
ValueError
pythonval = 'a10' try: print(int(val)) except ValueError: print(val, 'は整数ではありません。')
整数に変換できない引数を指定すると ValueError
となります。
実行結果a10 は整数ではありません。
おわりに

引数 base
に、2、8、16 の指定をするとそれぞれ、2進数、8進数、16進数として扱われるのですね。

そうだね。
引数 base のデフォルトは10進数なので、その場合は引数に10を指定しなくていいよ。
よろしければクリックしていただけると嬉しいです。
コメント