国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁(yè) » python編程資訊

資訊內(nèi)容

介紹Python面向?qū)ο蟀鎸W(xué)員管理系統(tǒng)

極客小將2021-02-26-
簡(jiǎn)介免費(fèi)學(xué)習(xí)推薦:python視頻教程文章目錄Python面向?qū)ο蟀鎸W(xué)員管理系統(tǒng)目標(biāo)一.系統(tǒng)需求二.準(zhǔn)備程序文件2.1分析2.2創(chuàng)建程序文件三.書寫程序3.1student.py3.1.2程序代碼3.2managerSystem.py3.2.1定義類3.2.2管理系統(tǒng)框架3.3main.py3.4定義系
lBJ少兒編程網(wǎng)-https://www.pxcodes.com

免費(fèi)學(xué)習(xí)推薦:python視頻教程lBJ少兒編程網(wǎng)-https://www.pxcodes.com

文章目錄lBJ少兒編程網(wǎng)-https://www.pxcodes.com

Python面向?qū)ο蟀鎸W(xué)員管理系統(tǒng)目標(biāo)一. 系統(tǒng)需求二. 準(zhǔn)備程序文件2.1 分析2.2 創(chuàng)建程序文件三. 書寫程序3.1 student.py3.1.2 程序代碼3.2 managerSystem.py3.2.1 定義類3.2.2 管理系統(tǒng)框架3.3 main.py3.4 定義系統(tǒng)功能函數(shù)3.4.1 添加功能3.4.2 刪除學(xué)員3.4.3 修改學(xué)員信息3.4.5 查詢學(xué)員信息3.4.6 顯示所有學(xué)員信息3.4.7 保存學(xué)員信息3.4.8 加載學(xué)員信息四. 總結(jié)

目標(biāo)lBJ少兒編程網(wǎng)-https://www.pxcodes.com

了解面向?qū)ο箝_發(fā)過程中類內(nèi)部功能的分析方法了解常用系統(tǒng)功能添加刪除修改查詢

一. 系統(tǒng)需求lBJ少兒編程網(wǎng)-https://www.pxcodes.com

使用面向?qū)ο缶幊趟枷胪瓿蓪W(xué)員管理系統(tǒng)的開發(fā),具體如下:lBJ少兒編程網(wǎng)-https://www.pxcodes.com

系統(tǒng)要求:學(xué)員數(shù)據(jù)存儲(chǔ)在文件中系統(tǒng)功能:添加學(xué)員、刪除學(xué)員、修改學(xué)員信息、查詢學(xué)員信息、顯示所有學(xué)員信息、保存學(xué)員信息及退出系統(tǒng)等功能。

二. 準(zhǔn)備程序文件lBJ少兒編程網(wǎng)-https://www.pxcodes.com

2.1 分析lBJ少兒編程網(wǎng)-https://www.pxcodes.com

角色分析學(xué)員管理系統(tǒng)

工作中注意事項(xiàng)lBJ少兒編程網(wǎng)-https://www.pxcodes.com

為了方便維護(hù)代碼,一般一個(gè)角色一個(gè)程序文件;項(xiàng)目要有主程序入口,習(xí)慣為main.py

2.2 創(chuàng)建程序文件lBJ少兒編程網(wǎng)-https://www.pxcodes.com

創(chuàng)建項(xiàng)目目錄,例如:StudentManagerSystemlBJ少兒編程網(wǎng)-https://www.pxcodes.com

程序文件如下:lBJ少兒編程網(wǎng)-https://www.pxcodes.com

程序入口文件:main.py學(xué)員文件:student.py管理系統(tǒng)文件:managerSystem.py

三. 書寫程序lBJ少兒編程網(wǎng)-https://www.pxcodes.com

3.1 student.pylBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:lBJ少兒編程網(wǎng)-https://www.pxcodes.com

學(xué)員信息包含:姓名、性別、手機(jī)號(hào);添加__str__魔法方法,方便查看學(xué)員對(duì)象信息

3.1.2 程序代碼lBJ少兒編程網(wǎng)-https://www.pxcodes.com

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}'

3.2 managerSystem.pylBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:lBJ少兒編程網(wǎng)-https://www.pxcodes.com

存儲(chǔ)數(shù)據(jù)的位置:文件(student.data)加載文件數(shù)據(jù)修改數(shù)據(jù)后保存到文件存儲(chǔ)數(shù)據(jù)的形式:列表存儲(chǔ)學(xué)員對(duì)象系統(tǒng)功能添加學(xué)員刪除學(xué)員修改學(xué)員查詢學(xué)員信息顯示所有學(xué)員信息保存學(xué)員信息退出系統(tǒng)

3.2.1 定義類lBJ少兒編程網(wǎng)-https://www.pxcodes.com

class StudentManager(object): def __init__(self): # 存儲(chǔ)數(shù)據(jù)所用的列表 self.student_list = []

3.2.2 管理系統(tǒng)框架lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:系統(tǒng)功能循環(huán)使用,用戶輸入不同的功能序號(hào)執(zhí)行不同的功能。lBJ少兒編程網(wǎng)-https://www.pxcodes.com

步驟定義程序入口函數(shù)加載數(shù)據(jù)顯示功能菜單用戶輸入功能序號(hào)根據(jù)用戶輸入的功能序號(hào)執(zhí)行不同的功能定義系統(tǒng)功能函數(shù),添加、刪除學(xué)員等class StudentManager(object): def __init__(self): # 存儲(chǔ)數(shù)據(jù)所用的列表 self.student_list = [] # 一. 程序入口函數(shù),啟動(dòng)程序后執(zhí)行的函數(shù) def run(self): # 1. 加載學(xué)員信息 self.load_student() while True: # 2. 顯示功能菜單 self.show_menu() # 3. 用戶輸入功能序號(hào) menu_num = int(input('請(qǐng)輸入您需要的功能序號(hào):')) # 4 根據(jù)用戶輸入的功能序號(hào)執(zhí)行不同的功能 if menu_num == 1: # 添加學(xué)員 self.add_student() elif menu_num == 2: # 刪除學(xué)員 self.del_student() elif menu_num == 3: # 修改學(xué)員信息 self.modify_student() elif menu_num == 4: # 查詢學(xué)員信息 self.search_student() elif menu_num == 5: # 顯示所有學(xué)員信息 self.show_student() elif menu_num == 6: # 保存學(xué)員信息 self.save_student() elif menu_num == 7: # 退出系統(tǒng) break # 二. 定義功能函數(shù) # 2.1 顯示功能菜單 @staticmethod def show_menu(): print('請(qǐng)選擇如下功能-----------------') print('1:添加學(xué)員') print('2:刪除學(xué)員') print('3:修改學(xué)員信息') print('4:查詢學(xué)員信息') print('5:顯示所有學(xué)員信息') print('6:保存學(xué)員信息') print('7:退出系統(tǒng)') # 2.2 添加學(xué)員 def add_student(self): pass # 2.3 刪除學(xué)員 def del_student(self): pass # 2.4 修改學(xué)員信息 def modify_student(self): pass # 2.5 查詢學(xué)員信息 def search_student(self): pass # 2.6 顯示所有學(xué)員信息 def show_student(self): pass # 2.7 保存學(xué)員信息 def save_student(self): pass # 2.8 加載學(xué)員信息 def load_student(self): pass

3.3 main.pylBJ少兒編程網(wǎng)-https://www.pxcodes.com

# 1. 導(dǎo)入managerSystem模塊from managerSystem import *# 2. 啟動(dòng)學(xué)員管理系統(tǒng)if __name__ == '__main__': student_manager = StudentManager() student_manager.run()

3.4 定義系統(tǒng)功能函數(shù)lBJ少兒編程網(wǎng)-https://www.pxcodes.com

3.4.1 添加功能lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:用戶輸入學(xué)員姓名、性別、手機(jī)號(hào),將學(xué)員添加到系統(tǒng)。lBJ少兒編程網(wǎng)-https://www.pxcodes.com

步驟lBJ少兒編程網(wǎng)-https://www.pxcodes.com

用戶輸入姓名、性別、手機(jī)號(hào)創(chuàng)建該學(xué)員對(duì)象將該學(xué)員對(duì)象添加到列表

代碼lBJ少兒編程網(wǎng)-https://www.pxcodes.com

# 添加學(xué)員函數(shù)內(nèi)部需要?jiǎng)?chuàng)建學(xué)員對(duì)象,故先導(dǎo)入student模塊from student import *class StudentManager(object): ...... # 2.2 添加學(xué)員 def add_student(self): # 1. 用戶輸入姓名、性別、手機(jī)號(hào) name = input('請(qǐng)輸入您的姓名:') gender = input('請(qǐng)輸入您的性別:') tel = input('請(qǐng)輸入您的手機(jī)號(hào):') # 2. 創(chuàng)建學(xué)員對(duì)象:先導(dǎo)入學(xué)員模塊,再創(chuàng)建對(duì)象 student = Student(name, gender, tel) # 3. 將該學(xué)員對(duì)象添加到列表 self.student_list.append(student) # 打印信息 print(self.student_list) print(student)

3.4.2 刪除學(xué)員lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:用戶輸入目標(biāo)學(xué)員姓名,如果學(xué)員存在則刪除該學(xué)員。步驟用戶輸入目標(biāo)學(xué)員姓名遍歷學(xué)員數(shù)據(jù)列表,如果用戶輸入的學(xué)員姓名存在則刪除,否則則提示該學(xué)員不存在。代碼 # 2.3 刪除學(xué)員:刪除指定姓名的學(xué)員 def del_student(self): # 1. 用戶輸入目標(biāo)學(xué)員姓名 del_name = input('請(qǐng)輸入要?jiǎng)h除的學(xué)員姓名:') # 2. 如果用戶輸入的目標(biāo)學(xué)員存在則刪除,否則提示學(xué)員不存在 for i in self.student_list: if i.name == del_name: self.student_list.remove(i) break else: print('查無此人!') # 打印學(xué)員列表,驗(yàn)證刪除功能 print(self.student_list)

3.4.3 修改學(xué)員信息lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:用戶輸入目標(biāo)學(xué)員姓名,如果學(xué)員存在則修改該學(xué)員信息。步驟用戶輸入目標(biāo)學(xué)員姓名;遍歷學(xué)員數(shù)據(jù)列表,如果用戶輸入的學(xué)員姓名存在則修改學(xué)員的姓名、性別、手機(jī)號(hào)數(shù)據(jù),否則則提示該學(xué)員不存在。代碼 # 2.4 修改學(xué)員信息 def modify_student(self): # 1. 用戶輸入目標(biāo)學(xué)員姓名 modify_name = input('請(qǐng)輸入要修改的學(xué)員的姓名:') # 2. 如果用戶輸入的目標(biāo)學(xué)員存在則修改姓名、性別、手機(jī)號(hào)等數(shù)據(jù),否則提示學(xué)員不存在 for i in self.student_list: if i.name == modify_name: i.name = input('請(qǐng)輸入學(xué)員姓名:') i.gender = input('請(qǐng)輸入學(xué)員性別:') i.tel = input('請(qǐng)輸入學(xué)員手機(jī)號(hào):') print(f'修改該學(xué)員信息成功,姓名{i.name},性別{i.gender}, 手機(jī)號(hào){i.tel}') break else: print('查無此人!')

3.4.5 查詢學(xué)員信息lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:用戶輸入目標(biāo)學(xué)員姓名,如果學(xué)員存在則打印該學(xué)員信息步驟用戶輸入目標(biāo)學(xué)員姓名遍歷學(xué)員數(shù)據(jù)列表,如果用戶輸入的學(xué)員姓名存在則打印學(xué)員信息,否則提示該學(xué)員不存在。代碼 # 2.5 查詢學(xué)員信息 def search_student(self): # 1. 用戶輸入目標(biāo)學(xué)員姓名 search_name = input('請(qǐng)輸入要查詢的學(xué)員的姓名:') # 2. 如果用戶輸入的目標(biāo)學(xué)員存在,則打印學(xué)員信息,否則提示學(xué)員不存在 for i in self.student_list: if i.name == search_name: print(f'姓名{i.name},性別{i.gender}, 手機(jī)號(hào){i.tel}') break else: print('查無此人!')

3.4.6 顯示所有學(xué)員信息lBJ少兒編程網(wǎng)-https://www.pxcodes.com

打印所有學(xué)員信息步驟遍歷學(xué)員數(shù)據(jù)列表,打印所有學(xué)員信息代碼 # 2.6 顯示所有學(xué)員信息 def show_student(self): print('姓名 性別 手機(jī)號(hào)') for i in self.student_list: print(f'{i.name} {i.gender} {i.tel}')

3.4.7 保存學(xué)員信息 lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:將修改后的學(xué)員數(shù)據(jù)保存到存儲(chǔ)數(shù)據(jù)的文件。步驟打開文件文件寫入數(shù)據(jù)關(guān)閉文件

思考lBJ少兒編程網(wǎng)-https://www.pxcodes.com

文件寫入的數(shù)據(jù)是學(xué)員對(duì)象的內(nèi)存地址嗎?文件內(nèi)數(shù)據(jù)要求的數(shù)據(jù)類型是什么?拓展__dict__class A(object): a = 0 def __init__(self): self.b = 1aa = A()# 返回類內(nèi)部所有屬性和方法對(duì)應(yīng)的字典print(A.__dict__)# 返回實(shí)例屬性和值組成的字典print(aa.__dict__)

在Python中l(wèi)BJ少兒編程網(wǎng)-https://www.pxcodes.com

代碼 # 2.7 保存學(xué)員信息 def save_student(self): # 1. 打開文件 f = open('student.data', 'w') # 2. 文件寫入學(xué)員數(shù)據(jù) # 注意1:文件寫入的數(shù)據(jù)不能是學(xué)員對(duì)象的內(nèi)存地址,需要把學(xué)員數(shù)據(jù)轉(zhuǎn)換成列表字典數(shù)據(jù)再做存儲(chǔ) new_list = [i.__dict__ for i in self.student_list] # [{'name': 'aa', 'gender': 'nv', 'tel': '111'}] print(new_list) # 注意2:文件內(nèi)數(shù)據(jù)要求為字符串類型,故需要先轉(zhuǎn)換數(shù)據(jù)類型為字符串才能文件寫入數(shù)據(jù) f.write(str(new_list)) # 3. 關(guān)閉文件 f.close()

3.4.8 加載學(xué)員信息lBJ少兒編程網(wǎng)-https://www.pxcodes.com

需求:每次進(jìn)入系統(tǒng)后,修改的數(shù)據(jù)是文件里面的數(shù)據(jù)lBJ少兒編程網(wǎng)-https://www.pxcodes.com

步驟lBJ少兒編程網(wǎng)-https://www.pxcodes.com

嘗試以"r"模式打開學(xué)員數(shù)據(jù)文件,如果文件不存在則以"w"模式打開文件如果文件存在則讀取數(shù)據(jù)并存儲(chǔ)數(shù)據(jù)讀取數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)類型為列表并轉(zhuǎn)換列表內(nèi)的字典為對(duì)象存儲(chǔ)學(xué)員數(shù)據(jù)到學(xué)員列表關(guān)閉文件

代碼lBJ少兒編程網(wǎng)-https://www.pxcodes.com

# 2.8 加載學(xué)員信息 def load_student(self): # 嘗試以"r"模式打開數(shù)據(jù)文件,文件不存在則提示用戶;文件存在(沒有異常)則讀取數(shù)據(jù) try: f = open('student.data', 'r') except: f = open('student.data', 'w') else: # 1. 讀取數(shù)據(jù) data = f.read() # 2. 文件中讀取的數(shù)據(jù)都是字符串且字符串內(nèi)部為字典數(shù)據(jù),故需要轉(zhuǎn)換數(shù)據(jù)類型再轉(zhuǎn)換字典為對(duì)象后存儲(chǔ)到學(xué)員列表 new_list = eval(data) self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list] finally: # 3. 關(guān)閉文件 f.close()

四. 總結(jié)lBJ少兒編程網(wǎng)-https://www.pxcodes.com

函數(shù)定義和調(diào)用參數(shù)的使用面向?qū)ο蠖x類創(chuàng)建對(duì)象定義和調(diào)用實(shí)例屬性定義和調(diào)用實(shí)例方法數(shù)據(jù)類型列表增加刪除數(shù)據(jù)列表推導(dǎo)式字典字符串文件操作打開文件讀取或?qū)懭腙P(guān)閉文件

相關(guān)免費(fèi)學(xué)習(xí)推薦:python教程(視頻)lBJ少兒編程網(wǎng)-https://www.pxcodes.com

以上就是介紹Python面向?qū)ο蟀鎸W(xué)員管理系統(tǒng)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注少兒編程網(wǎng)其它相關(guān)文章!lBJ少兒編程網(wǎng)-https://www.pxcodes.com

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 罗甸县| 大洼县| 浮梁县| 安远县| 江山市| 浦城县| 德清县| 桂林市| 玉山县| 南开区| 鹤峰县| 丹江口市| 曲沃县| 金湖县| 含山县| 丽江市| 南宫市| 定陶县| 恩施市| 洪雅县| 海原县| 娄烦县| 青州市| 临颍县| 镇江市| 邯郸市| 龙陵县| 铜陵市| 新宾| 平远县| 尚义县| 都江堰市| 清远市| 鄱阳县| 武冈市| 板桥市| 南阳市| 凤台县| 汾西县| 四会市| 晋宁县|