[Fix] TypeError: str object is not callable in Python


Python TypeError - str object is not callable
Sample Python Code:
message = "I love Python"
print(message())

Error as in PyCharm:
Traceback (most recent call last):
  File "/Users/code2care/PycharmProjects/python-learnings/0-test.py", line 2, in <module>
    print(message())
TypeError: 'str' object is not callable

Error as in Jupyter Notebook:
TypeError                                 Traceback (most recent call last)
Cell In[22], line 2
      1 message = "I love Python"
----> 2 print(message())

TypeError: 'str' object is not callable

Reason for this error

    As the error describes, it is a type error! where in the string object is treated as a function with parenthesis.

    One of the other most common cause of this issue is if you define a variable of any datatype (int, float, list, tuple, dist, etc) and you name it as str and try to cast it to a string using the str function.

    str = [1,2,3,4,5]
    print(str(str))
    Error:
    Cell In[28], line 2
          1 str = [1,2,3,4,5]
    ----> 2 print(str(str))
    
    TypeError: 'list' object is not callable


How to fix this error

    The fix is simple, just remove the parenthesis () from the line where an str object is treated as a function mistakenly.

    message = "I love Python"
    print(message)

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org



















Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap