如何在Python中向列表添加Employee对象并打印列表内容
完成Python员工对象列表的创建与打印功能
Hey,你已经把核心的输入逻辑写得差不多了,就差最后几步就能实现完整功能啦!我来帮你补全所有缺失的部分:
第一步:完善employee模块的Employee类
你代码里导入了employee模块,但这个模块里需要有完整的Employee类定义才能创建对象。新建一个employee.py文件,写入以下代码:
class Employee: def __init__(self, name, id_number, department, job_title): # 初始化员工的四个属性 self.name = name self.id_number = id_number self.department = department self.job_title = job_title # 重写__str__方法,让打印对象时显示友好的格式化信息 def __str__(self): return f"姓名: {self.name}, ID: {self.id_number}, 部门: {self.department}, 职位: {self.job_title}"
第二步:补全主程序的列表添加与打印逻辑
修改你现有的主程序代码,把员工对象加入列表,并添加打印所有员工信息的部分:
import employee def main(): print('本程序将创建员工对象并存储其信息') print() ledger = [] numOfEmployees = int(input("请输入要录入的员工数量:")) for count in range(numOfEmployees): print(f"\n--- 录入第 {count+1} 位员工 ---") name = input("请输入员工姓名:") id_number = input("请输入员工ID号:") department = input("请输入员工所属部门:") job_title = input("请输入员工职位:") # 创建员工对象,这里别用count当变量名啦,换成new_employee更清晰 new_employee = employee.Employee(name, id_number, department, job_title) # 把创建好的对象添加到ledger列表中 ledger.append(new_employee) # 打印所有已录入的员工信息 print("\n===== 已录入员工信息汇总 =====") for emp in ledger: print(emp) # 确保主函数在直接运行脚本时才执行 if __name__ == "__main__": main()
关键细节说明
- 给
Employee类添加了__init__构造方法,用来接收并保存员工的四个属性;重写__str__方法是为了避免打印对象时出现默认的内存地址,而是显示可读的员工信息。 - 使用
ledger.append(new_employee)完成“向列表添加Employee对象”的核心操作,这就是你代码里ledger...需要补的内容。 - 最后通过遍历
ledger列表,逐个打印每个员工对象,因为我们重写了__str__,所以直接print(emp)就能输出格式化的信息。
内容的提问来源于stack exchange,提问作者GOD
相关产品推荐
相关产品推荐

