您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“python面向對象如何實現學員管理系統”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“python面向對象如何實現學員管理系統”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
使用面向對象編程思想完成學員管理系統的開發(fā),具體如下:
系統要求:使用面向對象的方法
系統功能:添加學員、刪除學員、修改學員信息、查詢學員信息、顯示所有學員信息、保存學員信息及退出系統等功能。
角色分析
- 學員
- 管理系統
工作中注意事項
-為了方便維護代碼,一般一個角色一個程序文件
- 項目要有主程序入口,習慣稱為main.py
1.創(chuàng)建項目目錄,例如:StudentmangerSystem
2.程序文件如下:
程序入口文件:main.py
學員文件:studnet.py
管理系統文件:mangerSystem.py
student.py
需求:儲存數據的形式:列表存儲學員對象
管理系統框架
需求:系統功能循環(huán)使用,用戶輸入不同的功能序號執(zhí)行不同的功能
步驟:
定義程序入口函數
顯示功能菜單
用戶輸入功能序號
根據用戶駛入的功能序號執(zhí)行不同的功能
定義系統功能函數,添加、刪除學員等
student.py
需求是讓我們把學員的數據放在列表里面,而且要用到面向對象。由此我們將學員看成是一個類,一個個學員就是實例對象。注意:這個時候列表里放的將是對象,而非其他數據類型。切記切記!
class Student(object): # 初始化學生類,傳入學員的三個參數 def __init__(self,sname,sgender,stel): self.name = sname self.gender = sgender self.tel = stel # 便于格式化返回字符串,浙江影響到對象的打印 def __str__(self): return f'{self.name}的性別是{self.gender},電話號碼是{self.tel}'
managerSystem
同樣也是要用到面向對象,由此,將需求中的各種功能看成是一個個實例方法。
功能面板也看成是一個實例方法
要求使用循環(huán),則需要一個運行程序,將功能面板,實例方法調用。同時使用if判斷語句判斷將用戶輸入的功能序號和功能的運行相對應。
from Student import * class managerSystem(object): # 初始化 def __init__(self): self.student_list = [] # 定義功能面板 def show_menu(self): print("請選擇如下功能:") print("1.添加學員") print("2.刪除學員") print("3.修改學員信息") print("4.查詢學員信息") print("5.顯示所有學員信息") print("6.保存學員信息") print("7.退出系統") # 定義功能函數:添加學員 def student_add(self): name = input('請輸入姓名:') for i in self.student_list: if i.name != name: gender = input('請輸入性別:') tel = input('請輸入電話號:') break else: print('庫中已有此人!') student = Student(name,gender,tel) self.student_list.append(student) # 注意:這里加入到列表中的是一個實例對象,打印只會得到一個內存地址 # 定義功能函數:刪除學員 def student_del(self): name = input('請輸入刪除學員的姓名:') for i in self.student_list: if i.name == name: del i else: print('查無此人!') # 定義功能函數:修改信息 def student_change(self): name = input('請輸入姓名:') for i in self.student_list: if i.name == name: i.gender = input('請輸入性別:') i.tel = input('請輸入電話號:') break else: print('查無此人!') # 定義功能函數:查詢功能信息 def student_search(self): name = input('請輸入姓名:') for i in student_list: if i.name == name: print(f'{i.name}的性別{i.gender}電話號是{i.tel}') break else: print('查無此人!') # 定義功能函數:顯示所有信息 def student_show_all(self): for i in student_list: print(f'{i.name}的性別是{i.gender}電話號是{i.tel}') # 定義功能函數:保存學員信息 def student_save(self): print('保存信息成功!') # 定義功能函數:退出系統 def student_exit(self): print('退出成功!') “”“ 定義主運行程序 ”“” def run(self): # 定義一個變量,用以跳出循環(huán) i = 0 while i == 0: srlf.show_menu() func_sum = input('請輸入功能序號:') if func_sum == '1': self.student_add() # 添加學員 elif func_sum == '2': self.student_del() # 刪除學員 elif func_sun == '3': self.student_change() # 修改學員信息 elif func_sum == '4': self.student_search() # 查詢學員信息 elif func_sum == '5': self.student_show_all() # 顯示所有信息 elif func_sum == '6': self.studnet_save() # 保存信息 else: i += 1 # 當i不等于0時,跳出循環(huán) self.student_exit() # 退出程序
main.py
管理學員系統的執(zhí)行文件
from managerSystem import * if __name__ == '__main__': Mangersystem = managerSystem() Mangersystem.run()
最后,這三個文件要在同一個目錄下,最好先在pycharm中創(chuàng)建一個項目后,再創(chuàng)建者三個文件。
讀到這里,這篇“python面向對象如何實現學員管理系統”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。