‘str’ object is not callable – Python Error


Python throws the error, ‘str’ object is not callable, when you use reserved functions like str() as local or global variable.

Let’s consider this code example –

avengerMoviesCount = 4
str = str(avengerMoviesCount)

numberOfInfinityStones = 6
convertToString = str(numberOfInfinityStones)

Did you get what’s wrong with this code? This code will throw the error – ‘str’ object is not callable. It is because of this line –

str = str(avengerMoviesCount)

str is a built in function of Python and we should not use it as a variable name. What happened is that after the assignment, str became a string variable and lost its property of being a function.

Now if you try to call str as a function, then Python will throw the str not callable error.

Here is the list of all the built-in functions, you should avoid using as local variables –

abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()  

    Tweet this to help others

Live Demo

Demo might not work in private window (incognito)

Sign Up for Our Newsletters

Get only the best articles delivered to your mail

You May Also Like
python run bash script in background

python run bash script in background

Table of Contents Hide IntroductionTerminating background script after a timeoutHow to check if process is still running or terminated?How to get output from process?ConclusionLive DemoRelated Posts: Python subprocess library is…
View Post