For understanding decorators in Python, i created in a class an example. But when i run it i receive an error.
class Operation:
def __init__(self, groupe):
self.__groupe = groupe
@property
def groupe(self):
return self.__groupe
@groupe.setter
def groupe(self, value):
self.__groupe = value
def addition(self, func_goodbye):
ln_house = len('house')
ln_school = len('school')
add = ln_house + ln_school
print('The result is :' + str(add))
return func_goodbye
@addition
def goodbye(self):
print('Goodbye people !!')
if __name__ == '__main__':
p1 = Operation('Student')
p1.goodbye()
I receive this error :
Traceback (most recent call last): File "Operation.py", line 1, in class Operation: File "Operation.py", line 21, in Operation @addition TypeError: addition() missing 1 required positional argument: 'func_goodbye'
goodbye?groupeproperty is completely pointless and defeat the entire purpose ofproperty. Just delete them and use a normal,groupeattribute.