TypeError: ‘str’ object is not callable

Python
本ページはプロモーションが含まれています

はじめに

他の人が作ったソースコードを呼び出しする必要がありそのIF部分を作っている時にエラー(TypeError: ‘str’ object is not callable)に遭遇しました。

今回はその時のエラーの原因と対処方法についてです。

エラーの原因と対処法

エラー

まず発生したエラーですが、

TypeError: 'str' object is not callable

というものです。
日本語で訳すと
型エラー: ‘str’ オブジェクトは呼び出し可能ではありません
となります。

原因&対処方法とサンプルソース

原因

エラーが発生した原因ですが、文字列 (str) に対して関数のように呼び出そうとした為でした。
具体的には、文字列に対して括弧()を使用して呼び出そうとしたときなどです。Pythonでは文字列は関数として呼び出すことができません。

対処方法

対処方法はシンプルで、文字列に対して関数のように呼び出しを行わないようにします。
具体的な方法として次のサンプルソースコードを見てみます。

エラーが発生するソースコード

エラーが発生するサンプルです。
非常にシンプルで簡単な例ですが次のようになります。

foo = 'Hello, World!'
foo()  # 文字列は関数として呼び出せないのでエラーが発生

修正したソースコード

修正方法もシンプルで()を取ります。
(print()の()は取らないように注意)

foo = 'Hello, World!'
print(foo)  # print関数を使用して文字列を出力する

これを実行すると

Hello, World!

と表示されます。

さいごに

今回はPythonで文字列を関数のように呼び出してエラーになりました。
確かデバッグをしている時で、例のようにPrint関数を使っていてこのようなエラーになりました。
エラーの原因や対処方法はシンプルなのですが、ちょくちょく出るので注意が必要ですね。
(今回のPrint()デバッグみたいな事をするとエラーが出るかもしれません)

この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

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