This is the Traceback I am getting :
    Traceback (most recent call last):
      File "D:\School\Programming ll\Week 4\2.py", line 42, in 
    main()
      File "D:\School\Programming ll\Week 4\2.py", line 38, in main
    print('Name: ',emp.name())
    AttributeError: 'ProductionWorker' object has no attribute 'name'
Code:
class Employee(object):
    def __init__(self,name,id_number):
        self.__name = name
        self.__id_number = id_number
    def set_name(self, name):
        self. __name = name
    def set_id_number(self,id_number):
        return self.__name
    def get_id_number(self):
        return self.__id_number
class ProductionWorker(Employee):
    def __init__(self, name,id_number,shift_num,pay_rate):
        Employee.__init__(self, name, id_number)
        self.__shift_num = shift_num
        self.__pay_rate = pay_rate
    def set_shift_num(self, shift_num):
        self.__shift_num= shift_num
    def set_pay_rate(self, pay_rate):
        self.__pay_rate = pay_rate
    #accessor functions for shift_number and pay_rate
    def get_shift_num(self):
        return self.__shift_num
    def get_pay_rate(self):
        return self.__pay_rate
def main():
#get the values of employee name, number , shif_number and pay_rate from user.
    print ('Enter the following information for the employee')
    name=input('Name: ')
    id_number=input('Employee number: ')
    shift_num=input('Shift number: ')
    pay_rate=input ('Pay rate: ')
    emp = ProductionWorker(name,id_number,shift_num,pay_rate)
    print('Details of employee are shown below: ')
    print('Name: ',emp.name())
    print('Employee Number: ',emp.get_id_number())
    print('Shift Number: ',emp.get_shift_num())
    print('Pay Rate: ',emp.get_pay_rate())
main()
Please help me , I have been banging my head for hours now. Thanks
 
    