Method returning None - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Method returning None (/thread-42071.html) |
Method returning None - husksedgier - May-04-2024 class Employee: no_of_employees = 0 raise_amount = 1.04 def __init__(self, first, last, pay): self.first = first self.last = last self.pay = pay self.email = first + '.' + last + '@company.com' def fullname(self) -> str: return '{} {}'.format(self.first, self.last) def apply_raise(self): self.pay = int(self.pay * self.raise_amount) Emp1 = Employee('foo', 'bar', 50000) print(Emp1.apply_raise()) I would like to understand where I am going wrong. I am expecting the output to be 52,000.
RE: Method returning None - Gribouillis - May-04-2024 (May-04-2024, 11:12 AM)husksedgier Wrote: I would like to understand where I am going wrong.All functions without a return statement return None in Python. If you want to return another value, include a return statement.In your case however, apply_raise() is a "procedure", logically speaking: it does something (apply a raise) but it does not need to return any value. You could perhaps execute the action, then print the employee's pay instead of the result of the function.
RE: Method returning None - husksedgier - May-04-2024 (May-04-2024, 11:36 AM)Gribouillis Wrote:(May-04-2024, 11:12 AM)husksedgier Wrote: I would like to understand where I am going wrong.All functions without a Thanks a ton for shedding light... I'm still waddling through the Python jungle, barely out of the crib! |