class Employee:
def __init__(self, aname, asalary, arole):
self.name = aname
self.salary = asalary
self.role = arole
def printdetails(self):
return f"The Name is {self.name}. Salary is {self.salary} and role is {self.role}"
@classmethod
def change_leaves(cls, newleaves):
cls.no_of_leaves = newleaves
@classmethod
def from_dash(cls, string):
# params = string.split("-")
# print(params)
# return cls(params[0], params[1], params[2])
return cls(*string.split("-")) #what is happening from this point exactly?
harry = Employee("Harry", 255, "Instructor")
rohan = Employee("Rohan", 455, "Student")
karan = Employee.from_dash("Karan-480-Student")
print(karan.printDetails())
Here as per code, object "karan= Employee.from_dash("Karan-480-Student")", But i want to understand what exactly is happening from the point we return cls(*string.split("-")) from class method "from_dash"? Like for karan object are we passing the returned tuple to the init constructor of Employee class and assigning "karan" to name, "480" to salary and "Student" to role? or something else is going on ?