In python dict object is a dictionary. It is a data structure that allows you to store a list of objects with keys and their pair. Sometimes you can get the error while using dict in your code. The attributeerror: dict object has no attribute has_key is one of them.
In this entire tutorial, you will learn how to solve the attributeerror: dict object has no attribute has_key easily.
What do you mean by attributeerror?
The python interpreter always returns an exception when you are using the wrong type of variable. Suppose there is a function that accepts an argument of type integer but you are passing the variable of string type, and the interpreter returns an exception as an attribute error. You can ignore this error using the try and throw exception error handling.
Cause of the Attributeerror: dict object has no attribute has_key error
The main and root cause of this attribute error is that you are using the old version of python. It means has_key has been depreciated since the Python 3 version.
However, if you have already an older version of Python than 3. xx then you can easily use the has_key() method.
You can check the version of python using the below command.
python --version
Output

My python version is more than Python 3 version, therefore I will get the error while using the has_key() method.
students_age = {"Maya": 25,"Robin":45,"John":30}
students_age.has_key("Robin")
Output

Solution of the dict object has no attribute has_key Error
The solution of the attributeerror: dict object has no attribute has_key is very simple. You have to use the latest functions for checking the key value in the dictionary. The new version of python has __contains__(“your_key”) function for checking the key pair in the dictionary.
Now if you run the below lines of code you will not get the error.
students_age = {"Maya": 25,"Robin":45,"John":30}
students_age.__contains__("Robin")
Output

Conclusion
Sometimes if you are using the python inbuilt functions can lead to the attributeerror if the functions are deprecated. Always first read the documentation before using it to know whether the function is depreciated or not.
The above method is the solution for your error dict object has no attribute has_key.
Leave a Reply