TypeError: 'str' object is not callable (Python)
This is the problem:
global str
str = str(mar)
You are redefining what str()
means. str
is the built-in Python name of the string type, and you don't want to change it.
Use a different name for the local variable, and remove the global
statement.
While not in your code, another hard-to-spot error is when the %
character is missing in an attempt of string formatting:
"foo %s bar %s coffee"("blah","asdf")
but it should be:
"foo %s bar %s coffee"%("blah","asdf")
The missing %
would result in the same TypeError: 'str' object is not callable
.
In my case I had a class that had a method and a string property of the same name, I was trying to call the method but was getting the string property.