Home > Back-end >  Can't get function within object to display value
Can't get function within object to display value

Time:09-18

hey guys I'm currently learning oop but I'm having a bit of trouble with accessing values which I create or add to a object, currently I can't work out how to get the value stored within getAge

from datetime import date


class Person:
def __init__(self, name, dob, cob):
    self.name = name
    self.dob = dob
    self.cob = cob

def setName(self, name):
    self.name = name

def getAge(self):
    today = date.today()
    birthYear = int(self.dob[6:])   2000
    age = today.year - birthYear
    return age

  


p1 = Person('Jane', '22/06/02', 'England')

p1.setName("Joe")
print(p1.name)

print(Person.getAge)

CodePudding user response:

I don't understand why you print Person.getAge, it's a method of Person.

getAge is a method and not static not, so you need use p1.getAge() istead of Person.getAge to get the age value.

CodePudding user response:

The method getAge only makes sense when using it on an instance of the Person ss. In your case print(p1.getAge()) to activate the method.

You could also add the @propery decorator above the method to avoid the parentheses as the method doesn't require any arguments.

  • Related