Alan Alor
Alan Alor

Reputation: 25

adding objects to a class list, from another class in Python

How could I modify the classes below so that when a new instance of Pet is created, it is automatically added to its Owner's list of pets?

class Name:
    def __init__(self, first, last):
        self.first = first
        self.last = last

class Pet:
    def __init__(self, name, owner):
        self.name = name
        self.owner = owner
        
class Owner:
    def __init__(self, name):
        self.name = name
        self.pets = []

Upvotes: 0

Views: 1554

Answers (1)

Juan Andrade
Juan Andrade

Reputation: 336

owner1 = Owner(name="Juan")

pet = Pet(name="foo", owner=owner1)

owner1.pets += pet

or change your pet init

class Pet:
    def __init__(self, name, owner):
        self.name = name
        self.owner = owner
        owner.pets.append(self)

Upvotes: 2

Related Questions