#employee.py class Employee: def__init__(self,Emp_name,Emp_id): self.__Emp_name=Emp_name self.__Emp_id=Emp_id defset_Empname(self,Emp_name): self.__Emp_name=Emp_name defset_Empid_number(self,Emp_id): self.__Emp_id=Emp_id defget_Empname(self): returnself.__Emp_name defget_Empid_number(self): returnself.__Emp_id class ProductionWorker(Employee): def__init__(self,Emp_name,Emp_id,Emp_shift, Emp_pay_rate): Employee.__init__(self,Emp_name,Emp_id) self.__Emp_shift=Emp_shift self.__Emp_pay_rate=Emp_pay_rate defset_Empshift_number(self,Emp_shift): self.__Emp_shift=Emp_shift defset_Emppay_rate(self,Emp_pay_rate): self.__Emp_pay_rate=Emp_pay_rate defget_Empshift_number(self): returnself.__Emp_shift defget_Emppay_rate(self): returnself.__Emp_pay_rate def main(): Employee_name='' Employee_id='' Employee_shift=0 Employee_pay=0.0 Employee_name=input('Enter the employee name: ') Employee_id=input('Enter the employee ID number: ') Employee_shift=int(input('Enter the employee shift number: ')) Employee_pay=float(input('Enter the employee hourly pay rate: ')) wrk=ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay) print('Production worker details: ') print('Employee name:',wrk.get_Empname()) print('Employee ID number:',wrk.get_Empid_number()) print('Shift Number:',wrk.get_Empshift_number()) print('Hourly pay rate:$', format(wrk.get_Emppay_rate(),',.2f'),sep='') main() #mainEmployee.py from employee import Employee def main(): Employee_name='' Employee_id='' Employee_shift=0 Employee_pay=0.0 Employee_name=input('Enter the employee name: ') Employee_id=input('Enter the employee ID number: ') Employee_shift=int(input('Enter the employee shift number: ')) Employee_pay=float(input('Enter the employee hourly pay rate: ')) wrk=Employee.ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay) print('Production worker details: ') print('Employee name:',wrk.get_Empname()) print('Employee ID number:',wrk.get_Empid_number()) print('Shift Number:',wrk.get_Empshift_number()) print('Hourly pay rate:$', format(wrk.get_Emppay_rate(),',.2f'),sep='') main()
#employee.py class Employee: def__init__(self,Emp_name,Emp_id): self.__Emp_name=Emp_name self.__Emp_id=Emp_id defset_Empname(self,Emp_name): self.__Emp_name=Emp_name defset_Empid_number(self,Emp_id): self.__Emp_id=Emp_id defget_Empname(self): returnself.__Emp_name defget_Empid_number(self): returnself.__Emp_id class ProductionWorker(Employee): def__init__(self,Emp_name,Emp_id,Emp_shift, Emp_pay_rate): Employee.__init__(self,Emp_name,Emp_id) self.__Emp_shift=Emp_shift self.__Emp_pay_rate=Emp_pay_rate defset_Empshift_number(self,Emp_shift): self.__Emp_shift=Emp_shift defset_Emppay_rate(self,Emp_pay_rate): self.__Emp_pay_rate=Emp_pay_rate defget_Empshift_number(self): returnself.__Emp_shift defget_Emppay_rate(self): returnself.__Emp_pay_rate def main(): Employee_name='' Employee_id='' Employee_shift=0 Employee_pay=0.0 Employee_name=input('Enter the employee name: ') Employee_id=input('Enter the employee ID number: ') Employee_shift=int(input('Enter the employee shift number: ')) Employee_pay=float(input('Enter the employee hourly pay rate: ')) wrk=ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay) print('Production worker details: ') print('Employee name:',wrk.get_Empname()) print('Employee ID number:',wrk.get_Empid_number()) print('Shift Number:',wrk.get_Empshift_number()) print('Hourly pay rate:$', format(wrk.get_Emppay_rate(),',.2f'),sep='') main() #mainEmployee.py from employee import Employee def main(): Employee_name='' Employee_id='' Employee_shift=0 Employee_pay=0.0 Employee_name=input('Enter the employee name: ') Employee_id=input('Enter the employee ID number: ') Employee_shift=int(input('Enter the employee shift number: ')) Employee_pay=float(input('Enter the employee hourly pay rate: ')) wrk=Employee.ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay) print('Production worker details: ') print('Employee name:',wrk.get_Empname()) print('Employee ID number:',wrk.get_Empid_number()) print('Shift Number:',wrk.get_Empshift_number()) print('Hourly pay rate:$', format(wrk.get_Emppay_rate(),',.2f'),sep='') main()
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
#employee.py
class Employee:
def__init__(self,Emp_name,Emp_id):
self.__Emp_name=Emp_name
self.__Emp_id=Emp_id
defset_Empname(self,Emp_name):
self.__Emp_name=Emp_name
defset_Empid_number(self,Emp_id):
self.__Emp_id=Emp_id
defget_Empname(self):
returnself.__Emp_name
defget_Empid_number(self):
returnself.__Emp_id
class ProductionWorker(Employee):
def__init__(self,Emp_name,Emp_id,Emp_shift, Emp_pay_rate):
Employee.__init__(self,Emp_name,Emp_id)
self.__Emp_shift=Emp_shift
self.__Emp_pay_rate=Emp_pay_rate
defset_Empshift_number(self,Emp_shift):
self.__Emp_shift=Emp_shift
defset_Emppay_rate(self,Emp_pay_rate):
self.__Emp_pay_rate=Emp_pay_rate
defget_Empshift_number(self):
returnself.__Emp_shift
defget_Emppay_rate(self):
returnself.__Emp_pay_rate
def main():
Employee_name=''
Employee_id=''
Employee_shift=0
Employee_pay=0.0
Employee_name=input('Enter the employee name: ')
Employee_id=input('Enter the employee ID number: ')
Employee_shift=int(input('Enter the employee shift number: '))
Employee_pay=float(input('Enter the employee hourly pay rate: '))
wrk=ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay)
print('Production worker details: ')
print('Employee name:',wrk.get_Empname())
print('Employee ID number:',wrk.get_Empid_number())
print('Shift Number:',wrk.get_Empshift_number())
print('Hourly pay rate:$', format(wrk.get_Emppay_rate(),',.2f'),sep='')
main()
#mainEmployee.py
from employee import Employee
def main():
Employee_name=''
Employee_id=''
Employee_shift=0
Employee_pay=0.0
Employee_name=input('Enter the employee name: ')
Employee_id=input('Enter the employee ID number: ')
Employee_shift=int(input('Enter the employee shift number: '))
Employee_pay=float(input('Enter the employee hourly pay rate: '))
wrk=Employee.ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay)
print('Production worker details: ')
print('Employee name:',wrk.get_Empname())
print('Employee ID number:',wrk.get_Empid_number())
print('Shift Number:',wrk.get_Empshift_number())
print('Hourly pay rate:$', format(wrk.get_Emppay_rate(),',.2f'),sep='')
main()

Transcribed Image Text:**Understanding AttributeError in Python: A Case Study**
### Overview
In this educational case study, we're examining a common error encountered in Python programming: the `AttributeError`. Specifically, we'll look at an example error related to class attributes and importing modules, to help students and developers grasp how such errors occur and how they might be resolved.
### Error Scenario
The following text is a transcribed error encountered during the execution of a Python script.
```
loyee.:py"
Enter the employee name: Bri
Enter the employee ID number: 1123
Enter the employee shift number: 1
Enter the employee hourly pay rate: 12
Traceback (most recent call last):
File "/Users/briannacardenas/Downloads/CS202 MOD7 Brianna Cardenas/class Employee:.py", line 1, in <module>
from employee import Employee
File "/Users/briannacardenas/Downloads/CS202 MOD7 Brianna Cardenas/employee.py", line 42, in <module>
main()
File "/Users/briannacardenas/Downloads/CS202 MOD7 Brianna Cardenas/employee.py", line 36, in main
wrk = Employee.ProductionWorker(Employee_name, Employee_id, Employee_shift,Employee_pay)
AttributeError: type object 'Employee' has no attribute 'ProductionWorker'
(base) briannacardenas@Briannas-Air CS202 MOD7 Brianna Cardenas %
```
### Error Breakdown
1. **User Input Section:**
```plaintext
Enter the employee name: Bri
Enter the employee ID number: 1123
Enter the employee shift number: 1
Enter the employee hourly pay rate: 12
```
The user is prompted to enter the employee's details, which are then captured by the script for processing.
2. **Traceback Details:**
The error traceback helps identify the source of the problem:
```plaintext
Traceback (most recent call last):
File "/Users/briannacardenas/Downloads/CS202 MOD7 Brianna Cardenas/class Employee:.py", line 1, in <module>
from employee import Employee
File "/Users/briannacardenas/Downloads/CS202 MOD7 Brianna Cardenas/employee.py", line 42, in <module>
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 4 steps with 3 images

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education