Python エラー TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

直訳

タイプエラー:「+」にはサポートされていないオペランドの型だよ:intとstr

型が違うデータ(文字列(string型)と数字(int))を「+」で処理することはできない
ということ

# エラーとなるサンプル
x = 1
y = '4'

z = x + y  # ←ここでエラー
"""
TypeError: unsupported operand type(s) for +: 'int' and 'str'
"""

# 結果の表示
print(z)

これを実行しようとすると表題のエラーが起きる
ただ、こんなあからさまなことをする人はいないと思われ、大抵は他(csvやテキスト)ファイルからデータを読み込んで足し算しようとしたときに起きることが多いと考えられる

対処法

数値として足し算したい場合

x = 1
y = '4'

z = x + int(y)

#結果の表示
print(z)
"""
5
"""

文字列として結合したい場合

x = 1
y = '4'

z = str(x) + y

#結果の表示
print(z)
"""
14
"""

ちなみに

「… for +: … 」の「+」の部分は引き算であれば「-」、掛け算であれば「*」、割り算であれば「/」とそれぞれ変わる

コメント

タイトルとURLをコピーしました