What is the purpose of the __dict__ attribute in Python?
Answer:
In Python, the __dict__
attribute is a special attribute that contains the namespace of an object. It is a dictionary-like object that maps attribute names to their corresponding values.
Whenever you create a new instance of a class, Python creates a new namespace to store the instance's attributes. The __dict__
attribute provides a way to access this namespace directly, and to manipulate the attributes of an instance dynamically.
Here's an example to illustrate the use of __dict__
:
class Person: def __init__(self, name, age): self.name = name self.age = age p = Person("Alice", 30) # Accessing the namespace with __dict__ print(p.__dict__) # {'name': 'Alice', 'age': 30} # Adding a new attribute dynamically p.city = "New York" print(p.__dict__) # {'name': 'Alice', 'age': 30, 'city': 'New York'} # Removing an attribute dynamically del p.age print(p.__dict__) # {'name': 'Alice', 'city': 'New York'}
In this example, we define a Person
class with two attributes (name
and age
). When we create a new instance of the class (p
), Python creates a new namespace to store the instance's attributes. We can access this namespace directly using the __dict__
attribute, and we can manipulate the attributes dynamically by adding or removing items from the dictionary.
In summary, the __dict__
attribute in Python is a special attribute that contains the namespace of an object. It provides a way to access and manipulate an object's attributes dynamically, which can be useful in a variety of situations.
Related Articles:
This section is dedicated exclusively to Questions & Answers. For an in-depth exploration of Python, click the links and dive deeper into this subject.
Join Our telegram group to ask Questions
Click below button to join our groups.