【Python】’int’ object is not callableのエラーとは?原因と対処法を解説

この記事では、Pythonプログラムを実行する際によく遭遇するエラーメッセージ 'x' object is not callable の原因と対処法について解説します。

初心者の方でもわかりやすく、具体的なサンプルコードを交えながら解説していきます。

目次から探す

‘x’ object is not callableの原因とは?

Pythonプログラムを実行している際に、'str' object is not callableなどのエラーメッセージが表示されることがあります。

このエラーは、変数やオブジェクトを関数として呼び出そうとした際に発生します。

具体的な原因と対処法を見ていきましょう。

x = 10
x()
TypeError: 'int' object is not callable

対処法1:関数名のスペルミスをチェックする

エラーメッセージに表示されているオブジェクト名や関数名のスペルを確認しましょう。

もしスペルミスがある場合は、正しいスペルに修正することでエラーを解消することができます。

以下のサンプルコードを考えます。

def my_function():
    print("Hello, world!")
my_funtion()  # 関数名のスペルミスがある
NameError: name 'my_funtion' is not defined. Did you mean: 'my_function'?

対処法2:変数名の競合を避ける

変数名と関数名が競合している場合にも、’x’ object is not callableのエラーが発生することがあります。

変数名と関数名が同じである場合、Pythonは変数を優先して認識します。

そのため、関数を呼び出す際に変数として認識され、エラーが発生します。

変数名と関数名が競合していないか確認しましょう。

以下のサンプルコードを考えます。

def print_message():
    message = "Hello, world!"
    print(message)
print_message = "Hello, Python!"  # 変数名と関数名が競合している
print_message()  # 変数として認識されるためエラーが発生する
Traceback (most recent call last):
  File "sample.py", line 5, in <module>
    print_message()  # 変数として認識されるためエラーが発生する
    ^^^^^^^^^^^^^^^
TypeError: 'str' object is not callable

以上が、’x’ object is not callableのエラーの原因と対処法です。

TypeErrorはいろんな要因で発生するので、しっかり要因を理解しておきましょう。

目次から探す