oop.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. class Employee:
  2. num_of_emps = 0
  3. raise_amt = 1.04
  4. def __init__(self, first, last, pay):
  5. self.first = first
  6. self.last = last
  7. self.email = first + '.' + last + '@email.com'
  8. self.pay = pay
  9. Employee.num_of_emps += 1
  10. def fullname(self):
  11. return '{} {}'.format(self.first, self.last)
  12. def apply_raise(self):
  13. self.pay = int(self.pay * self.raise_amt)
  14. @classmethod
  15. def set_raise_amt(cls, amount):
  16. cls.raise_amt = amount
  17. @classmethod
  18. def from_string(cls, emp_str):
  19. first, last, pay = emp_str.split('-')
  20. return cls(first, last, pay)
  21. @staticmethod
  22. def is_workday(day):
  23. if day.weekday() == 5 or day.weekday() == 6:
  24. return False
  25. return True
  26. emp_1 = Employee('Corey', 'Schafer', 50000)
  27. emp_2 = Employee('Test', 'Employee', 60000)
  28. Employee.set_raise_amt(1.05)
  29. print(Employee.raise_amt)
  30. print(emp_1.raise_amt)
  31. print(emp_2.raise_amt)
  32. emp_str_1 = 'John-Doe-70000'
  33. emp_str_2 = 'Steve-Smith-30000'
  34. emp_str_3 = 'Jane-Doe-90000'
  35. first, last, pay = emp_str_1.split('-')
  36. #new_emp_1 = Employee(first, last, pay)
  37. new_emp_1 = Employee.from_string(emp_str_1)
  38. print(new_emp_1.email)
  39. print(new_emp_1.pay)
  40. import datetime
  41. my_date = datetime.date(2016, 7, 11)
  42. print(Employee.is_workday(my_date))