TypeError: 'int' object is not callable の原因と絶対に知っておくべき直し方

Last Updated on 2025年7月28日

Pythonで開発をしていると、以下のようなエラーメッセージに出くわすことがあります。

このエラーは一見すると分かりにくいですが、原因は非常に単純です。本記事では、TypeError: 'int' object is not callable の原因を丁寧に解説し、再発を防ぐための対処法や実践例をご紹介します。

目次

TypeError: 'int' object is not callable とは?

このエラーは、int型の値に対して関数のように「()(丸括弧)」を使ったときに発生します。つまり、Pythonが「関数として呼び出せるのは関数だけなのに、整数を呼び出そうとしている」と判断したということです。

TypeError: 'int' object is not callable の原因

このエラーの典型的な原因は、以下のような「関数名と同じ名前でint型の変数を定義してしまう」ケースです。

上記のように、Pythonの組み込み関数であるsum()に数値10を代入してしまったため、その後sum()が使えなくなり、intを呼び出そうとしてエラーが出ているわけです。

TypeError: 'int' object is not callable の具体例

① 組み込み関数と同じ名前の変数を定義している

② 関数呼び出しを忘れて丸括弧だけつけている

③ 型変換関数の誤用

TypeError: 'int' object is not callable の対処法

① 上書きした関数名を別の名前に変更する

② 定義済みの変数名を確認してから使う

Jupyter Notebookなどでは、既に定義された変数が影響する場合があるので、delやカーネル再起動で解決できます。

③ 関数と変数の名前を明確に分ける

混乱しやすい関数と変数の命名

初心者が特に混乱しやすいのは以下の関数と同じ名前の変数定義です:

  • sum
  • list
  • int
  • str
  • input

これらの名前を変数に使うと、元々の関数が使えなくなるためエラーが発生しやすくなります。

TypeError: 'int' object is not callable の防止チェックリスト

  1. 組み込み関数と同じ名前の変数を使っていないか?
  2. 変数と関数の命名を明確に分けているか?
  3. 変数の型を確認してから()を使っているか?
  4. 不要な関数上書きがあればdelで削除したか?

よくある質問と補足解説

Q. 変数を定義し直したのにまだエラーが出ます

JupyterやPythonインタプリタでは、過去の変数が残っている場合があります。その場合は、カーネルの再起動delを使ってリセットしてください。

Q. 自作関数で同じようなエラーが出ます

関数と同名の変数を定義していないか確認してください。自作関数名を使った直後に同じ名前の変数を使うと、関数が上書きされてしまいます。

Q. 型の確認方法はありますか?

次のようにtype()関数を使うと、変数が何の型なのかを確認できます。


このTypeErrorは、関数と変数の混同によって非常に起こりやすいミスです。しかし、命名を工夫するだけで劇的に減らすことができます。ぜひ本記事を参考に、ミスのないPythonコードを書いていきましょう。