How to Access dict Keys Like An Attribute?

In this post, we will learn about how we can Access dict Keys like an attribute which we can perform using dict class as by inheriting this class and creating an object of it, and defining these keys as attributes.


Accessing Keys Like An Attribute

Here we give an example to show we can do so simply we need to follow the code given to implement the code.

As a dictionary stores the data in the form of key-values where it deals as a pair means to get the value in the dictionary we need the key. Although it makes it a heavy data structure, it provides better things like it stores the data in an organized way which make us to get the data in an easy way

class MyDict( dict):
    def __getattr__( self, name):
            return self[ name]
        except KeyError:
            raise AttributeError( name)

my_dict = MyDict({'a': 1, 'b': 2, 'c': 3})
print( my_dict.a) # 1
print( my_dict.b) # 2
print( my_dict.c) # 3

In the example of code where we have a class named as my diet is inheriting dict class and it has a function named as __getattr__() and when this method or function is called, an attribute is get as an instance of the given class where we are working on and when the attribute is not found using the normal attribute lookup process.

For such cases, we go for the attributes as a dictionary key using ‘self[ name]’ And there if it does not find the corresponding values it goes as the return value, But at the same time if it does not find the attributes an error called ‘attribute error’ is raised there.

There are certain things we need to keep in mind before using it as when the ‘attribute error’ is occurred due to not finding the attribute may lead to raising a ‘key Error’ which is really hard to resolve.

Secondly, there might be some in built functions that might not work as per the requirements in the subclass of dict for example you might be using methods like a copy() and update() which might not be working.

And at last time technique might lead to making the code more complex and reduce readability so we need to keep this thing in mind before using these techniques.



To learn more about Accessing dict keys like an attribute visit: by stack overflow

To learn more about solutions to different Python problems and tutorials for the concepts we need to know to work on Python programming along with different ways to solve any generally asked problems: How To Pass-Variables From A Java & Python Client To A Linux/Ubuntu Server Which Is Running C?.

Leave a Comment

%d bloggers like this: