Python编写Employee类打印员工信息遇ModuleNotFoundError求助
问题解决:ModuleNotFoundError及代码语法错误修复
核心问题分析
- 模块导入错误:未按要求将代码拆分为
employee.py和employee_test.py两个独立文件,导致导入时找不到employee模块。 - 代码语法错误:原代码存在类定义缺冒号、方法未缩进、f-string格式错误等问题。
修正步骤及代码
第一步:创建employee.py文件
将Employee类代码单独存放,修正语法错误:
class Employee: def __init__(self, name, id_num, dep, title): self.__name = name self.__id = id_num self.__dep = dep self.__title = title def set_id(self, id_num): self.__id = id_num def set_dep(self, dep): self.__dep = dep def set_title(self, title): self.__title = title def __str__(self): result = f"{self.__name}\t{self.__id}\t{self.__dep}\t{self.__title}" return result
修正点:
- 类定义添加冒号
class Employee: - 所有类方法缩进至类内部
- __str__方法中修正属性引用(
self__name→self.__name),将/t改为制表符转义字符\t,修复f-string格式
第二步:创建employee_test.py文件
将测试代码单独存放,确保和employee.py在同一目录下:
from employee import Employee def main(): Susan = Employee("Susan Meyers", "47899", "Accounting", "Vice President") Mark = Employee("Mark Jones", "39119", "IT", "Programmer") Joy = Employee("Joy Rogers", "81774", "Manufacturing", "Engineer") print(Susan) print(Mark) print(Joy) main()
运行结果
执行employee_test.py后,输出如下:
Susan Meyers 47899 Accounting Vice President Mark Jones 39119 IT Programmer Joy Rogers 81774 Manufacturing Engineer
内容的提问来源于stack exchange,提问作者user19293076
相关产品推荐
相关产品推荐

