Tech-Joho.info

TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ | Python用語辞典

Python独学ならTech-Joho TOP > Python用語辞典 > TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

このページでは、Pythonプログラムの実行時にでてくる”TypeError: unsupported operand type(s) for +: ‘int’ and ‘str'”というエラーの意味と、その修正の仕方について説明します。

TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’ の意味

やや意訳すると、+という計算の記号(演算子)は、int型とstr型の間の計算には使えません、というような意味です。

要は、整数と文字列は+できないということです。

考えられる原因となおし方

エラがーが出る状況は、下のような例が典型的です。PythonのREPL等で、2+’031’を計算しています。

>>> 2 + '031' Traceback (most recent call last): File "", line 1, in TypeError: unsupported operand type(s) for +: 'int' and 'str'

2は整数でint型、’031’は文字列でstr型なので、+で足し算はできません。

これを修正するには、’031’をやめて31という整数で書くか、int(‘031’)として、文字列の’031’をint型に変換します。

関連する練習問題がこちらにあります。

型の変換