Create Class Objects Using Loops in Python
Last Updated :
07 Mar, 2024
We are given a task to create Class Objects using for loops in Python and return the result, In this article we will see how to create class Objects by using for loops in Python.
Example:
Input: person_attributes = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
Output: Name: Alice, Age: 25, Name: Bob, Age: 30, Name: Charlie, Age: 35
Explanation: Class objects are created using loop
Create Class Objects Using Loops in Python
Below are some examples of create Class Objects in Python:
Example 1: Simple Class Instantiation Using For Loops
in this example, below code defines a `Person` class, creates instances with a for loop using attributes from a list of tuples, and prints each person’s details. It showcases a compact and efficient use of for loops in Python for object instantiation and data handling.
Python3
class Person:
def __init__( self , name, age):
self .name = name
self .age = age
person_attributes = [( "Alice" , 25 ), ( "Bob" , 30 ), ( "Charlie" , 35 )]
people = []
for name, age in person_attributes:
person = Person(name, age)
people.append(person)
for person in people:
print (f "Name: {person.name}, Age: {person.age}" )
|
Output
Name: Alice, Age: 25
Name: Bob, Age: 30
Name: Charlie, Age: 35
Output
Name: Alice, Age: 25
Name: Bob, Age: 30
Name: Charlie, Age: 35
Example 2: Dynamic Object Creation From List of Attributes Using For Loop
In this example, below code defines a `Product` class and utilizes a list of dictionaries to create instances with concise list comprehension. The for loop then prints the details of each product, illustrating an efficient and readable approach to object instantiation and data handling in Python.
Python3
class Product:
def __init__( self , name, price):
self .name = name
self .price = price
product_data = [
{ "name" : "Laptop" , "price" : 1000 },
{ "name" : "Phone" , "price" : 800 },
{ "name" : "Tablet" , "price" : 500 }
]
products = [Product(data[ "name" ], data[ "price" ]) for data in product_data]
for product in products:
print (f "Product: {product.name}, Price: ${product.price}" )
|
Output
Product: Laptop, Price: $1000
Product: Phone, Price: $800
Product: Tablet, Price: $500
Example 3: Using Dictionaries to Create Objects Using For loop
In this example, below code introduces two classes, `Product` and `Person`, with specific attributes. Using for loops, it efficiently creates instances for each class from different data structures (dictionaries and tuples) and prints their details. This concise approach highlights the flexibility of for loops in handling various class instantiation scenarios in Python.
Python3
class Product:
def __init__( self , name, price):
self .name = name
self .price = price
class Person:
def __init__( self , name, age):
self .name = name
self .age = age
product_data = [
{ "name" : "Laptop" , "price" : 1000 },
{ "name" : "Phone" , "price" : 800 },
{ "name" : "Tablet" , "price" : 500 }
]
products = []
for data in product_data:
product = Product( * * data)
products.append(product)
for product in products:
print (f "Product: {product.name}, Price: ${product.price}" )
person_attributes = [( "Alice" , 25 ), ( "Bob" , 30 ), ( "Charlie" , 35 )]
people = [Person( * attributes) for attributes in person_attributes]
for person in people:
print (f "Name: {person.name}, Age: {person.age}" )
|
Output
Product: Laptop, Price: $1000
Product: Phone, Price: $800
Product: Tablet, Price: $500
Name: Alice, Age: 25
Name: Bob, Age: 30
Name: Charlie, Age: 35
Conclusion
In conclusion , Utilizing for
loops to create class objects in Python is a powerful technique that enhances code efficiency, scalability, and flexibility. By iterating through collections of data, you can dynamically generate instances of a class with minimal code duplication. This approach not only makes your code more readable but also simplifies maintenance and updates. The for
loop proves to be a valuable tool in the realm of object-oriented programming, empowering developers to handle repetitive tasks with elegance and precision.
Share your thoughts in the comments
Please Login to comment...