class Employee:
    no_of_leaves=8

    def __init__(self,aname,asalary,arole):
        self.name = aname
        self.salary = asalary
        self.role = arole

    def printdetails(self):
        return f"Name is {self.name} salary is {self.salary}"

    @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("-"))# another way to do it or one line way
    @staticmethod
    def printgood(string):
        print("thi is ",string)

class Programmer (Employee):
    noofholidays = 56
    def __init__(self,aname,asalary,arole,language):
        self.name = aname
        self.salary = asalary
        self.role = arole
        self.languages = language

    def printprog(self):
        return f"The Programmer's name is {self.name}. Salary is {self.salary} and role is {self.role}."

class player:
    noofgames=4
    def __init__(self,name,game):
        self.name=name
        self.game=game
    def printdetails(self):
        return f"Yhe name is {self.name} and game is {self.game}"

class Coolprogrammer(Employee,player):
    pass


harry2=Employee("harry1",244,"instructor")
larry2=Employee("larry1",234,"sales")

shubham = Programmer("Shubham",933,"programmer",["python"])
print(shubham.noofholidays)
print(shubham.languages)

carbon = player("acrbon",["cricket"])
rohan = Coolprogrammer("rohan",9999,"Coolprog")

det = rohan.printdetails()
print(det)

ec67b131d7dbac95333e1bb8a6747d341438d2cb
class Employee:
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    @staticmethod
    def printgood(string):
        print('thi is ', string)


class Programmer(Employee):
    noofholidays = 56

    def __init__(self, aname, asalary, arole, language):
        self.name = aname
        self.salary = asalary
        self.role = arole
        self.languages = language

    def printprog(self):
        return (
            f"The Programmer's name is {self.name}. Salary is {self.salary} and role is {self.role}."
            )


class player:
    noofgames = 4

    def __init__(self, name, game):
        self.name = name
        self.game = game

    def printdetails(self):
        return f'Yhe name is {self.name} and game is {self.game}'


class Coolprogrammer(Employee, player):
    pass


<mask token>

class Employee:
    <mask token>

    def __init__(self, aname, asalary, arole):
        self.name = aname
        self.salary = asalary
        self.role = arole

    def printdetails(self):
        return f'Name is {self.name} salary is {self.salary}'

    @classmethod
    def change_leaves(cls, newleaves):
        cls.no_of_leaves = newleaves

    @classmethod
    def from_dash(cls, string):
        return cls(*string.split('-'))

    @staticmethod
    def printgood(string):
        print('thi is ', string)


class Programmer(Employee):
    noofholidays = 56

    def __init__(self, aname, asalary, arole, language):
        self.name = aname
        self.salary = asalary
        self.role = arole
        self.languages = language

    def printprog(self):
        return (
            f"The Programmer's name is {self.name}. Salary is {self.salary} and role is {self.role}."
            )


class player:
    noofgames = 4

    def __init__(self, name, game):
        self.name = name
        self.game = game

    def printdetails(self):
        return f'Yhe name is {self.name} and game is {self.game}'


class Coolprogrammer(Employee, player):
    pass


<mask token>

class Employee:
    no_of_leaves = 8

    def __init__(self, aname, asalary, arole):
        self.name = aname
        self.salary = asalary
        self.role = arole

    def printdetails(self):
        return f'Name is {self.name} salary is {self.salary}'

    @classmethod
    def change_leaves(cls, newleaves):
        cls.no_of_leaves = newleaves

    @classmethod
    def from_dash(cls, string):
        return cls(*string.split('-'))

    @staticmethod
    def printgood(string):
        print('thi is ', string)


class Programmer(Employee):
    noofholidays = 56

    def __init__(self, aname, asalary, arole, language):
        self.name = aname
        self.salary = asalary
        self.role = arole
        self.languages = language

    def printprog(self):
        return (
            f"The Programmer's name is {self.name}. Salary is {self.salary} and role is {self.role}."
            )


class player:
    noofgames = 4

    def __init__(self, name, game):
        self.name = name
        self.game = game

    def printdetails(self):
        return f'Yhe name is {self.name} and game is {self.game}'


class Coolprogrammer(Employee, player):
    pass


<mask token>

class Employee:
    no_of_leaves = 8

    def __init__(self, aname, asalary, arole):
        self.name = aname
        self.salary = asalary
        self.role = arole

    def printdetails(self):
        return f'Name is {self.name} salary is {self.salary}'

    @classmethod
    def change_leaves(cls, newleaves):
        cls.no_of_leaves = newleaves

    @classmethod
    def from_dash(cls, string):
        return cls(*string.split('-'))

    @staticmethod
    def printgood(string):
        print('thi is ', string)


class Programmer(Employee):
    noofholidays = 56

    def __init__(self, aname, asalary, arole, language):
        self.name = aname
        self.salary = asalary
        self.role = arole
        self.languages = language

    def printprog(self):
        return (
            f"The Programmer's name is {self.name}. Salary is {self.salary} and role is {self.role}."
            )


class player:
    noofgames = 4

    def __init__(self, name, game):
        self.name = name
        self.game = game

    def printdetails(self):
        return f'Yhe name is {self.name} and game is {self.game}'


class Coolprogrammer(Employee, player):
    pass


<mask token>
print(shubham.noofholidays)
print(shubham.languages)
<mask token>
print(det)

class Employee:
    no_of_leaves=8

    def __init__(self,aname,asalary,arole):
        self.name = aname
        self.salary = asalary
        self.role = arole

    def printdetails(self):
        return f"Name is {self.name} salary is {self.salary}"

    @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("-"))# another way to do it or one line way
    @staticmethod
    def printgood(string):
        print("thi is ",string)

class Programmer (Employee):
    noofholidays = 56
    def __init__(self,aname,asalary,arole,language):
        self.name = aname
        self.salary = asalary
        self.role = arole
        self.languages = language

    def printprog(self):
        return f"The Programmer's name is {self.name}. Salary is {self.salary} and role is {self.role}."

class player:
    noofgames=4
    def __init__(self,name,game):
        self.name=name
        self.game=game
    def printdetails(self):
        return f"Yhe name is {self.name} and game is {self.game}"

class Coolprogrammer(Employee,player):
    pass


harry2=Employee("harry1",244,"instructor")
larry2=Employee("larry1",234,"sales")

shubham = Programmer("Shubham",933,"programmer",["python"])
print(shubham.noofholidays)
print(shubham.languages)

carbon = player("acrbon",["cricket"])
rohan = Coolprogrammer("rohan",9999,"Coolprog")

det = rohan.printdetails()
print(det)
