HOWTO · Python

TypeError を解決する: Python では整数が必要です

このチュートリアルでは TypeError について説明します: Python では整数が必要です。

Python でのコード作成中に発生するもう 1つの最も一般的なエラーは、TypeError です。 Python では例外です。

操作で不適切なデータ型のオブジェクトを使用すると、このエラーが発生します。

この記事では、Python で TypeError を取得する方法を示します。 また、トピックをより簡単にするために、必要な例と説明を使用してトピックについて説明します。

Python で TypeError が発生する仕組み

すでに説明したように、このエラーの原因は、操作で不適切なデータ型を使用したことです。 以下の Python プログラムを作成したとします。

num = list(str(345678))
for i in num:
    print(chr(i))

上記の例を実行しようとすると、次のようなエラーが発生します。

Traceback (most recent call last):
  File "<string>", line 5, in <module>
TypeError: an integer is required (got type str)

上記の例の問題は、関数 chr() の行 print(chr(i)) で互換性のないデータ型を渡したことにあります。

同じエラーを生成する別の例を見てみましょう。

この例では、2つの変数に対して除算演算を実行します。 この目的のための Python コードは以下のようになります。

MyInt = 45
MyInt2 = "5"
Result = MyInt / MyInt2
print("Result is : ", Result)

上記の例では、整数型変数を、この演算と互換性のない文字列型変数で除算しています。 したがって、この例を実行すると、次のようなエラーが発生します。

Traceback (most recent call last):
  File "<string>", line 3, in <module>
TypeError: unsupported operand type(s) for /: 'int' and 'str'

TypeError: 整数が必要です を解決する方法

このエラーを解決するには、データ型を修正する必要があります。 最初の例では、次のようにコードを修正できます。

num = list(str(345678))
for i in num:
    print(i)

ここで、データ型が操作と互換性がない行を修正しただけで、プログラムの別の部分は同じままであることがわかります。

最初の例を修正すると、以下のような出力が得られます。

3
4
5
6
7
8

では、2 番目の例を解いてみましょう。 2 番目の例を修正するには、以下のように 2 番目の変数から二重引用符を削除する必要があります。

MyInt = 45
MyInt2 = 5
Result = MyInt / MyInt2
print("Result is : ", Result)

そして、エラーが解決されたことがわかり、以下の出力が得られます。

Result is :  9.0

ここで説明するコマンドとプログラムは、Python プログラミング言語で記述されていることに注意してください。