Disregard the naming conventions as to what class is part of which it is just a test run. 

I need some help with the OOP inheritance i have created a class of Students, Teachers, and the principal. My goal is for the principal to be able to add employees. The problem is i just want to use a for loop to get the names and then pass that method as an attribute for the principal object. i was able to do it with the class Input without the self parameter. can someone tell me
what is going on here and how can i fix this with self. i removed input from names so that my question wont get shut down

```
class Input:
     def count():
        cnt = []
        for i in range(4):
            name = ('Enter name here: ')
            cnt.append(name)
        return cnt

class Student:
    def __init__(self,name,lastname):
        self.name = name
        self.lastname = lastname

class StudentCouncil(Student):
    def __init__(self, name, lastname, tenure):
        super().__init__(name,lastname)
        self.tenure = tenure

class Principal(StudentCouncil):
    def __init__(self, name, lastname, tenure,employees=None):
        super().__init__(name,lastname,tenure)
        if employees is None:
            self.employees = []
        else:
            self.employees = employees

    def display(self):
        for names in self.employees:
            print(names,end=' ')

count = Input.count()
tij = Principal('Mike','Thoma','3',count)
tij.display()

```