If you see the error “AttributeError: ‘str’ object has no attribute ‘get'” in Python, it’s likely because you’re trying to use the get()
method on a string object. Read on to clarify the cause of this error and how you can fix it.
When does the AttributeError: ‘str’ object has no attribute ‘get’ occur?
The error appears when you call the get()
method on an object of type string because strings do not have a ‘get’ attribute. See the example below to know.
url = "learnshareit.com" # Try to use the get() on a string object name = url.get("learnshareit") # Error print(name)
Error:
AttributeError: 'str' object has no attribute 'get'
How to fix this problem?
We will guide you through the simple ways below to solve this problem.
Using the get()
method on a dictionary
Before reading on, ensure you understand the syntax of the get()
method. You can read more here.
We should use the get()
method on a dictionary object or an object with the get()
method to avoid the above error. Like this:
learnshareit = { 'url': 'learnshareit.com', 'name': 'LearnShareIT' } # Use get() on a dict name = learnshareit.get('name') print(name) # LearnShareIT
Output:
LearnShareIT
Using the type()
method
The type()
method is a built-in method that returns an object’s class or data type.
Syntax:
type(obj)
Description:
It returns the class or data type of the obj.
This way, we can check whether an object is a dictionary using the type()
method. If it is, we can use get()
on that object; otherwise, we will print a message line.
learnshareit = { 'url': 'learnshareit.com', 'name': 'LearnShareIT' } url = learnshareit['url'] # Use type() to check the object before using get() if type(url) == dict: name = url.get('name') print(name) else: print('Cannot use get() on this object!')
Output:
Cannot use get() on this object!
Using the hasattr()
method
The hasattr()
method is a built-in function in Python that checks if an object has the given attribute. This is useful when you want to know if an object has a certain property without actually having to access it. You can read more about its syntax here.
First, we check if the object has the get attribute using hasattr()
. If it does, we can use get()
on that object. If not, it means that the object has no get attribute. Like this:
learnshareit = { 'url': 'learnshareit.com', 'name': 'LearnShareIT' } # Use hasattr() to check if an object can use get() if hasattr(learnshareit, 'get'): name = learnshareit.get('name') print(name) # LearnShareIT else: print('Cannot use get() on this object!')
Output:
LearnShareIT
Summary
The best way to fix the AttributeError: ‘str’ object has no attribute ‘get’ is to check if a particular attribute exists in our object using hasattr()
. If this article was helpful to you, we’re glad it did.
Happy coding!
Maybe you are interested:
- AttributeError: ‘str’ object has no attribute ‘loads’
- AttributeError module ‘jwt’ has no attribute ‘encode’ in Python
- AttributeError: ‘str’ object has no attribute ‘items’

Hi, I’m Cora Lopez. I have a passion for teaching programming languages such as Python, Java, Php, Javascript … I’m creating the free python course online. I hope this helps you in your learning journey.
Name of the university: HCMUE
Major: IT
Programming Languages: HTML/CSS/Javascript, PHP/sql/laravel, Python, Java