ごまだれ日記

プログラミングの技術メモとか

Python3で文字列からintへ変換

組み込みのint()関数で可能。Javaと比べると、多少おおらかなのが印象的。

int('123')    # 123

int('0123')    # 123  ※Javaならエラー

int('   123   ')    # 123  ※Javaならエラー

ただし、無視してくれるのは0や半角スペースや改行など一部の文字だけで、下記などはさすがにエラーになる。

int('123X')    # ValueError: invalid literal for int() with base 10: '123X'

もちろん、16進数の場合は有効な文字ならOK。

int('123A', 16)    # 4666