Last modified: Apr 09, 2025 By Alexander Williams

Fix TypeError: 'dict' object not callable

Python developers often encounter the error TypeError: 'dict' object is not callable. This error occurs when you try to call a dictionary as if it were a function. Let's explore why this happens and how to fix it.

What Causes This Error?

The error occurs when you use parentheses () after a dictionary name. Dictionaries are not functions, so they cannot be called like one.

Here's an example that triggers this error:


# Incorrect usage causing the error
my_dict = {'name': 'John', 'age': 30}
print(my_dict())  # Trying to call dict as function


TypeError: 'dict' object is not callable

Common Scenarios

This error often appears in these situations:

1. Accidentally using () instead of [] for dictionary access.

2. Overwriting the dict keyword with a variable name.

3. Confusing dictionary methods with function calls.

How To Fix The Error

Here are solutions for each common scenario:

1. Using Square Brackets For Access

Always use square brackets [] to access dictionary values:


# Correct dictionary access
my_dict = {'name': 'John', 'age': 30}
print(my_dict['name'])  # Correct: uses square brackets


John

2. Don't Overwrite Built-in Names

Avoid using dict as a variable name. This shadows the built-in type:


# Problem: overwriting dict
dict = {'a': 1}  # Bad practice
print(dict('a'))  # Error: trying to call the dict variable

Solution: Use different variable names:


# Solution: use unique names
my_data = {'a': 1}  # Good practice
print(my_data['a'])  # Works correctly

3. Proper Method Usage

Dictionary methods like get() or update() are callable, but the dictionary itself is not:


# Correct method usage
my_dict = {'x': 10, 'y': 20}
value = my_dict.get('x')  # Correct: calling a method
print(value)


10

Debugging Tips

Follow these steps when you encounter this error:

1. Check for parentheses after a dictionary name.

2. Verify you haven't overwritten dict.

3. Ensure you're using proper dictionary access syntax.

For similar Python errors, see our guide on How To Solve ModuleNotFoundError.

Conclusion

The TypeError: 'dict' object is not callable is easy to fix once you understand it. Remember that dictionaries use square brackets for access. Avoid naming variables after built-in types. With these practices, you'll avoid this common Python pitfall.

Always double-check your syntax when working with dictionaries. Proper naming conventions and attention to detail will prevent this and many other errors.