創建一個實例對象后 把實例對象添加到列表后
每次遍歷列表 都能獲得一個實例對象
然后就可以使用實例對象的屬性和方法了
'''
學生管理系統 面向對象
兩個類 學生管理類 學生類
'''# 學生類
# 屬性 姓名 電話
class Student:def __init__(self, name, phone):self.name = nameself.phone = phonedef __str__(self):return 'name:{}, phone:{}'.format(self.name, self.phone)# 學生管理類
# 屬性 學生列表
class StudentManager:def __init__(self):self.student_lst = [] # 學生列表# 靜態方法 菜單功能@staticmethoddef menu():print('歡迎使用學生管理系統')print('1.添加學生')print('2.刪除學生')print('3.修改學生')print('4.查詢學生')print("5.展示所有學生")print('6.退出系統')# 執行各種方法的 總函數 類似于main()函數def run(self):while True:self.menu()choice = input('請輸入你的選擇:')if choice == '1':self.add_student()elif choice == '2':self.delete_student()elif choice == '3':self.update_student()elif choice == '4':self.query_student()elif choice == '5':self.show_all_student()elif choice == '6':breakelse:print('請輸入正確的選擇')# 1.添加學生def add_student(self):name = input('請輸入學生姓名:')# #判斷是否已經存在了# for student in self.student_lst:# if student['name'] == name:# print('該學生已經存在')# break# else:# phone = input('請輸入學生電話:')## student = Student(name, phone)# self.student_lst.append(student)# print('添加成功')# print(student.__dict__) # 打印字典# 面向對象for student in self.student_lst:if student.name == name:print('該學生已經存在')breakelse:phone = input('請輸入學生電話:')student = Student(name, phone) ## 創建一個Student實例self.student_lst.append(student) # 將實例添加到列表中print('添加成功')# print(student.__dict__)# 2.刪除學生def delete_student(self):name = input('請輸入要刪除的學生姓名:')for student in self.student_lst:if student.name == name:self.student_lst.remove(student)print('刪除成功')breakelse:print('該學生不存在')return# 3.修改學生def update_student(self):name = input('請輸入要修改的學生姓名:')for student in self.student_lst:if student.name == name:re_name = input('請輸入要修改的學生姓名:')phone = input('請輸入要修改的學生電話:')student.name = re_namestudent.phone = phoneprint('修改成功')breakelse:print('該學生不存在')return# 4.查詢學生def query_student(self):name = input('請輸入要查詢的學生姓名:')for student in self.student_lst: #student變量在每次迭代中引用列表中的不同Student實例。if student.name == name:print(student)breakelse:print('該學生不存在')return# 5.展示所有學生def show_all_student(self):for student in self.student_lst:print(student.__dict__) # 打印字典# print(student) # 打印實例if __name__ == '__main__':s = StudentManager()s.run()