どーもTakeです。
Python でソースコードを組んでいるときに「TypeError: 'str' object is not callable」というバグが出たので
そのエラーの原因と解決方法について解説します。
原因自体は簡単なのですが、このバグが厄介なのが、
原因がわかって直してもしばらく同じエラーがでるところだと思います(私はこれに時間がかかりました。。)
その場合の対処方法についてもご紹介します。
原因
簡単に言うと「使ってはいけない変数名・関数名をつかって変数名を定義(命名)したから」です。
簡単な例を下記に示します。
1 2 3 |
str = "aaaa" print(str) print(str(123)) |
Pythonには str メソッドという標準メソッドがあるにもかかわらず、str という変数を定義してしまった。。
それだけのことです。
解決方法
つまりそのような標準メソッドのようなもともと使われている名前で命名しなければOKです。
「名前を変えれば終わり!!!」
っと最初は私も思っていました。こちらをご覧ください。
「エラーが消えねえええ」
そうなんです。このバグが厄介なところが直してもなんでか知らんけどエラーが消えないところです。
エラーが消えない!
これに悩んではいけません。
こういう場合、一度ソースコードなりエディタを全部閉じてください。
そしてもう一度起動させて再度実行させます。
「やっとできた!」
根本原因はわかりませんが、Pythonの内部処理でなんらかエラーのままビルドされたんですかね??
(だれか根本原因教えてください。)
最後に
いかがでしたでしょうか?
この記事では、「TypeError: 'str' object is not callable」というバグの対処方法についてご紹介しました。
この記事が参考になれば幸いです。
ではでは。