How to Retrieve All Values from a Class in Python?

Estimated read time 2 min read

To retrieve all values from a class in Python, you can make use of the vars() function or iterate over the attributes of the class. Here are examples of both approaches:

  1. Using the vars() function: The vars() function returns a dictionary containing the attributes and their corresponding values of an object or class. Here’s an example:
class MyClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Create an instance of the class
my_object = MyClass("John", 25)

# Retrieve all values using vars()
values = vars(my_object)

print(values)  # Output: {'name': 'John', 'age': 25}

In this example, we define a class MyClass with two attributes name and age. We create an instance of the class and use the vars() function to retrieve a dictionary containing the attribute-value pairs of the object. The resulting values dictionary contains all the values of the class attributes.

  1. Iterating over class attributes: You can iterate over the attributes of a class using the __dict__ attribute or the dir() function. Here’s an example:
class MyClass:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# Create an instance of the class
my_object = MyClass("John", 25)

# Retrieve all values by iterating over attributes
values = {}
for attr in dir(my_object):
    if not attr.startswith('__'):
        values[attr] = getattr(my_object, attr)

print(values)  # Output: {'name': 'John', 'age': 25}

In this example, we define the same MyClass as before and create an instance of it. We iterate over the attributes of the object using the dir() function. We check that the attribute does not start with __ (to exclude built-in attributes) and then retrieve the value using the getattr() function. Finally, we store the attribute-value pairs in the values dictionary.

Both approaches allow you to retrieve all values from a class in Python. The first approach using vars() is simpler and more concise, while the second approach provides more control over the iteration process and allows you to filter or manipulate the attributes if needed.

You May Also Like

More From Author

+ There are no comments

Add yours

Leave a Reply