getting a error while trying to use setter for changing the value of a attribute(salary,name), explained solution would be appreciated

Viewed 16
class Employee():
    def __init__(self,n,s):
        self.salary = s;
        self.name = n;
 
    @property
    def name(self):
        return self.name
    
    @property
    def salary(self):
        return self.salary

    @salary.setter
    def salary(self,val):
        self.salary =val

    @name.setter
    def name(self,val):
        self.name =val
    
e=Employee("Sachin",500)

print(e.salary)
print(e.name)

ERROR: ..... line 15, in salary return self.salary [Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded

*Problem gets fixed when the indent everything under the constructor,but I don't understand how and why?! *

0 Answers
Related