diff options
Diffstat (limited to 'mit/extented_class_example/Person.py')
| -rw-r--r-- | mit/extented_class_example/Person.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/mit/extented_class_example/Person.py b/mit/extented_class_example/Person.py new file mode 100644 index 0000000..481dd69 --- /dev/null +++ b/mit/extented_class_example/Person.py @@ -0,0 +1,38 @@ +#!/usr/bin/python3 + +import datetime + +class Person(object): + def __init__(self, name): + """Create a person called name""" + self.name = name + self.birthday = None + self.lastName = name.split(' ')[-1] + + def getLastName(self): + """return self's last name""" + return self.lastName + + def __str__(self): + """return self's name""" + return self.name + + + def setBirthday(self,month,day,year): + """sets self's birthday to birthDate""" + self.birthday = datetime.date(year,month,day) + + def getAge(self): + """returns self's current age in days""" + if self.birthday == None: + raise ValueError + return (datetime.date.today() - self.birthday.days()) + + def __lt__(self, other): + """ + return True if self's name is lexicographically less than other's + name, and False otherwise + """ + if self.lastName == other.lastName: + return self.name < other.name + return self.lastName < other.lastName |
