Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

ValueError: invalid literal for int() with base 10: 'xxx'とは何ですか?

f:id:kenken0326:20201119143554p:plain

こんにちはPyQサポートです。
今回はValueError: invalid literal for int() with base 10: 'xxx'というエラーの意味と考えられる原因を紹介します。

質問

ValueError: invalid literal for int() with base 10: 'hello'とエラー表示されました。このエラーの原因がわからないので教えてください。

入力した内容(コード)

int("hello")

出たエラー(実行結果)

ValueError: invalid literal for int() with base 10: 'hello'

回答

int() に、10進数の整数に変換できない値を指定したことが原因で出たエラーです。

ValueError: invalid literal for int() with base 10: 'xxx'の解説

このエラーメッセージは、10進数の整数に変換できない値がint()関数に渡されたことを伝えています。 int()は文字列を引数として受け取れますが、"hello"は10進数の整数に変換できない値なので、ValueErrorが発生しています。

詳しくは公式ドキュメントをご確認ください。 https://docs.python.org/ja/3/library/exceptions.html#ValueError

ValueError: invalid literal for int() with base 10: 'xxx'が出る時にチェックするといい、よくあるミス

  • 引数に適切でない値が指定されてないか

エラーが出た時の考え方

学習を重ねてくると、「プロのエンジニアはエラーをどのように解決するのだろう?」という疑問が湧いて来ます。 ここであなたの、Pythonプログラミングのレベル上げに役立つ記事、「エンジニアの「プロの所作」04」を紹介します。

この記事では、プロはエラーをどのように捉えて、どのように対処しているのか」ということをプロの目線で解説しています。

よりレベルアップしたい方は読んでみてください!

blog.pyq.jp

この記事を読むとどんなことが理解できるか

  • 「どこで」エラーが起きていて、「どうやって」エラーを直すかがわかり、「どこを直して」対応するといいか考えられるようになります。

  • 記事と同じような場面に遭遇したときにも応用がきくようになります。

Copyright ©2017- BeProud Inc. All rights reserved.