AttributeError Python OOP

Viewed 21
from typing import List
class Customer:
    def __init__(self, name:str,age:int, phone_number: List['PhoneNumber']):
        self.name = name
        self.age = age
        self.phone_number = phone_number
    
    def check_ownership(self):
        for number in self.phone_number:
            if number.owner == self.name:
                print(f"Number: {number} is owned by {self.name}")
            else:
                print(f"Number: {number} is not owned by {self.name}")

class PhoneNumber:
    def __init__(self,credit: int,phone_number: int, owner:Customer):
        self.credit = credit
        self.phone_number = phone_number
        self.owner: Customer = owner

    def add_credit(self, amount):
        self.credit += amount

customer1 = Customer("Jake",20,[4321,5374])
phonenum1 = PhoneNumber(12,4321,"Jake")
phonenum2 = PhoneNumber(12,5374,"John")

print(customer1.check_ownership())

Im trying to check if the customer "Jake" is really set as a owner for the phone numbers he owns but i keep getting AttributeError: 'int' object has no attribute 'owner'. What is the right way to check if the customer really owns those numbers.

0 Answers
Related