python實現學生信息管理系統(面向對象)
本文實例為大傢分享瞭python實現學生信息管理系統的具體代碼,供大傢參考,具體內容如下
1.主要內容
python種的.py文件如圖所示
第一個文件是用來管理文件中包中各個模塊的關系的文件
第二個文件是主函數文件,就是在主函數文件調用其餘文件和模塊
第三個模塊式學生信息管理的模塊
第四個文件是用來存放學生數據的文件
第五個文件是學生信息的定義和顯示模塊
2.實現代碼
1)第一個文件是包中的管理文件自動生成且不需要修改
2)main.py文件
from managerSystem import *#導入模塊managerSystem,可以使用其中的功能 if __name__=='__main__':#定義隻能在運行main.py文件中運行,才執行的代碼 student_manager=StudentManager() student_manager.run()
3)學生信息管理模塊
from student import * class StudentManager(object): def __init__(self): self.student_list = [] def run(self): self.load_student() while True: self.show_menu() ret = int(input('請輸入數字1——7:')) if ret == 1: self.add_student() elif ret == 2: self.del_student() elif ret == 3: self.modify_student() elif ret == 4: self.search_student() elif ret == 5: self.show_student() elif ret == 6: self.save_student() elif ret == 7: break @staticmethod#此方法在執行時,不需要傳入任何參數 def show_menu(): print('請選擇如下序號:') print('1.添加學員') print('2.刪除學員') print('3.修改學員信息') print('4.查找學員') print('5.顯示學員信息') print('6.保存學員信息') print('7.退出系統') def add_student(self): name = input('請輸入學員姓名:') gender = input('請輸入學員性別:') tel = input('請輸入電話號碼:') student = Student(name, gender, tel) self.student_list.append(student) # print(self.student_list) # print(student) def del_student(self): del_name = input('請輸入需要刪除的學員姓名:') for i in self.student_list: if i.name == del_name: self.student_list.remove(i) break else: print('查無此人') # print(self.student_list) def modify_student(self): modify_name = input('請輸入需要修改的學員姓名:') for i in self.student_list: if i.name == modify_name: i.name = input('親輸入需要修改的學員姓名:') i.gender = input('請輸入需要修過的學員性別:') i.tel = input('請輸入需要修改的學員手機號:') print(f'修改的信息為{i.name},{i.gender},{i.tel}') break else: print('需要修改的學員不存在') def search_student(self): searce_name = input('請輸入需要查詢的學員姓名:') for i in self.student_list: if i.name == searce_name: print(f'姓名:{i.name},性別:{i.gender},手機號:{i.tel}') break else: print('查無此人') def show_student(self): print('姓名:\t性別:\t手機號:') for i in self.student_list: print(f'{i.name}\t{i.gender}\t{i.tel}') def save_student(self): f = open('student.data', 'w') new_list = [i.__dict__ for i in self.student_list] print(new_list) f.write(str(new_list)) f.close() def load_student(self): # 1. 打開文件:嘗試r打開,如果有異常w try: f = open('student.data', 'r') except: f = open('student.data', 'w') else: # 2. 讀取數據:文件讀取出的數據是字符串還原列表類型;[{}] 轉換 [學員對象] data = f.read() # 字符串 if data != '': # 此時需要添加判斷文件是否為空,否則會發生報錯 new_list = eval(data) self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list] finally: # 3. 關閉文件 f.close()
4)存儲數據的文件不需要編輯
5)student.py文件主要是用來存放學生的主要信息的模塊,以及可以查看學生信息的方法
class Student(object): def __init__(self, name, gender, tel): self.name = name self.gender = gender self.tel = tel def __str__(self): return f'{self.name},{self.gender}, {self.tel}'
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- python實現學生管理系統源碼
- python實現學員管理系統(面向對象版)
- python面向對象版學生信息管理系統
- Python實現簡單的學生信息管理系統
- python 管理系統實現mysql交互的示例代碼