Heim Backend-Entwicklung Python-Tutorial Einführung der objektorientierten Python-Version des Studentenverwaltungssystems

Einführung der objektorientierten Python-Version des Studentenverwaltungssystems

Feb 25, 2021 am 10:10 AM
python 管理系统

Einführung der objektorientierten Python-Version des Studentenverwaltungssystems

Kostenlose Lernempfehlung: Python-Video-Tutorial

Artikelverzeichnis

  • Python objektorientierte Version des Studentenverwaltungssystems
  • Ziel
  • 1. Systemanforderungen
  • Zwei . Programmdateien vorbereiten
    • 2.1 Programmdateien erstellen
    3. Programm schreiben
  • 3.1 student.py
    • 3 .2 managerSystem.py
      • 3.2.1 Klassen definieren .4 . 3 Schülerinformationen ändern
      3.4.5 Schülerinformationen abfragen
    • 3.4.6 Alle Schülerinformationen anzeigen
    • 3.4.7 Schülerinformationen speichern
      • 3.4.8 Schülerinformationen laden
    • IV. Zusammenfassung
    • Ziel
      • Verstehen Sie die Analysemethode klasseninterner Funktionen im objektorientierten Entwicklungsprozess.
      • Verstehen Sie allgemeine Systemfunktionen
      • Nutzungsorientiert Die Idee der Objektprogrammierung vervollständigt die Entwicklung des Studentenverwaltungssystems wie folgt:
      • Systemanforderungen: Studentendaten werden in Dateien gespeichert
      • Systemfunktionen: Studenten hinzufügen, Studenten löschen, Studenteninformationen ändern, Studenteninformationen abfragen, Alle Schülerinformationen anzeigen, Schülerinformationen speichern und Systemfunktionen verlassen. 2. Programmdateien vorbereiten. 2.1 Analyse
      • Der Einfachheit halber Wartungscode, normalerweise einer für jede Rolle Programmdateien;
      Das Projekt muss einen Hauptprogrammeintrag haben, der normalerweise main.py
    • ist
  • 2.2 Programmdateien erstellen

Erstellen Sie ein Projektverzeichnis, z Beispiel: StudentManagerSystem<strong></strong>Die Programmdateien lauten wie folgt:

  • Programmeintragsdatei: main.py
  • Student-Datei: student.py
    • Verwaltungssystemdatei: managerSystem.py
    • 3. Schreibprogramm
    3.1 student .py

Anforderungen:

Zu den Schülerinformationen gehören: Name, Geschlecht, Mobiltelefonnummer;

Fügen Sie die magische Methode __str__ hinzu, um Schülerobjekte bequem anzuzeigen Informationen
  • 3.1.2 Programmcode
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}'
Nach dem Login kopieren

3.2 managerSystem.py

Anforderungen:

Speicherort der gespeicherten Daten: Datei (student.data)
  • Dateidaten laden
    • Nach dem Ändern in Datei speichern die Daten
    Form der gespeicherten Daten: Liste. Schülerobjekte speichern. Systemfunktionen.
Schüler hinzufügen das System

  1. 3.2.1 Klassen definieren
  2. main.py

2.2 创建程序文件

创建项目目录,例如:StudentManagerSystem

程序文件如下:

  • 程序入口文件:main.py
  • 学员文件:student.py
  • 管理系统文件:managerSystem.py

三. 书写程序

3.1 student.py

需求:

  • 学员信息包含:姓名、性别、手机号;
  • 添加__str__
    class StudentManager(object):
        def __init__(self):
            # 存储数据所用的列表
            self.student_list = []
    Nach dem Login kopieren
3.2.2 Managementsystem-Framework

Anforderungen: Systemfunktionen werden zyklisch verwendet und Benutzer geben unterschiedliche Funktionsnummern ein, um unterschiedliche Funktionen auszuführen.

Schritte

Definieren Sie die Programmeingabefunktion.

Daten laden.
  • Anzeigen des Funktionsmenüs.
    • Der Benutzer gibt die Funktionsnummer ein Funktion Funktion, Schüler hinzufügen und löschen Warten
    class StudentManager(object):
        def __init__(self):
            # 存储数据所用的列表
            self.student_list = []
    
        # 一. 程序入口函数,启动程序后执行的函数
        def run(self):
            # 1. 加载学员信息
            self.load_student()
    
            while True:
                # 2. 显示功能菜单
                self.show_menu()
    
                # 3. 用户输入功能序号
                menu_num = int(input('请输入您需要的功能序号:'))
    
                # 4 根据用户输入的功能序号执行不同的功能
                if menu_num == 1:
                    # 添加学员
                    self.add_student()
                elif menu_num == 2:
                    # 删除学员
                    self.del_student()
                elif menu_num == 3:
                    # 修改学员信息
                    self.modify_student()
                elif menu_num == 4:
                    # 查询学员信息
                    self.search_student()
                elif menu_num == 5:
                    # 显示所有学员信息
                    self.show_student()
                elif menu_num == 6:
                    # 保存学员信息
                    self.save_student()
                elif menu_num == 7:
                    # 退出系统
                    break
    
        # 二. 定义功能函数
        # 2.1 显示功能菜单
        @staticmethod
        def show_menu():
            print('请选择如下功能-----------------')
            print('1:添加学员')
            print('2:删除学员')
            print('3:修改学员信息')
            print('4:查询学员信息')
            print('5:显示所有学员信息')
            print('6:保存学员信息')
            print('7:退出系统')
    
        # 2.2 添加学员
        def add_student(self):
            pass
    
        # 2.3 删除学员
        def del_student(self):
            pass
    
        # 2.4 修改学员信息
        def modify_student(self):
            pass
    
        # 2.5 查询学员信息
        def search_student(self):
            pass
    
        # 2.6 显示所有学员信息
        def show_student(self):
            pass
    
        # 2.7 保存学员信息
        def save_student(self):
            pass
    
        # 2.8 加载学员信息
        def load_student(self):
            pass
    Nach dem Login kopieren
  • 3.3 main.py
  • # 1. 导入managerSystem模块from managerSystem import *# 2. 启动学员管理系统if __name__ == '__main__':
        student_manager = StudentManager()
    
        student_manager.run()
    Nach dem Login kopieren
    • 3.4 Systemfunktion Funktion definieren
    • 3.4.1 Funktion hinzufügen
    • Anforderungen: Der Benutzer eingeben Es ist das des Schülers Geben Sie Name, Geschlecht und Mobiltelefonnummer ein und fügen Sie den hinzugefügten Schüler zum System hinzu.
    • Schritte
Benutzer gibt Namen, Geschlecht und Mobiltelefonnummer ein

Erstellen Sie das Schülerobjekt.

Fügen Sie das Schülerobjekt zur Liste hinzu.

Code Student

    • Anforderung: Der Benutzer gibt den Namen des Zielschülers ein und löscht den Schüler, wenn er existiert.
      • Schritte
      • Der Benutzer gibt den Namen des Zielschülers ein.
      • Durchsuchen Sie die Schülerdatenliste. Wenn der vom Benutzer eingegebene Schülername vorhanden ist, wird er angezeigt.
      • Code
    # 添加学员函数内部需要创建学员对象,故先导入student模块from student import *class StudentManager(object):
    		......
        
        # 2.2 添加学员
        def add_student(self):
            # 1. 用户输入姓名、性别、手机号
            name = input('请输入您的姓名:')
            gender = input('请输入您的性别:')
            tel = input('请输入您的手机号:')
    
            # 2. 创建学员对象:先导入学员模块,再创建对象
            student = Student(name, gender, tel)
    
            # 3. 将该学员对象添加到列表
            self.student_list.append(student)
            
            # 打印信息
            print(self.student_list)
            print(student)
    Nach dem Login kopieren
  • 3.4.3 Schülerinformationen ändern

Anforderungen: Der Benutzer gibt den Namen des Zielschülers ein und ändert die Schülerinformationen, wenn der Schüler existiert. Schritte

Der Benutzer gibt den Namen des Zielschülers ein. Durchsuchen Sie die Schülerdatenliste. Wenn der vom Benutzer eingegebene Schülername vorhanden ist, werden die Daten zu Name, Geschlecht und Mobiltelefonnummer des Schülers geändert Meldung, dass der Student nicht existiert.

Code

        # 2.3 删除学员:删除指定姓名的学员
        def del_student(self):
            # 1. 用户输入目标学员姓名
            del_name = input('请输入要删除的学员姓名:')
            
            # 2. 如果用户输入的目标学员存在则删除,否则提示学员不存在
            for i in self.student_list:
                if i.name == del_name:
                    self.student_list.remove(i)
                    break
            else:
                print('查无此人!')
    
            # 打印学员列表,验证删除功能
            print(self.student_list)
    Nach dem Login kopieren
  • 3.4.5 Schülerinformationen abfragen

    • 需求:用户输入目标学员姓名,如果学员存在则打印该学员信息
    • 步骤
      • 用户输入目标学员姓名
      • 遍历学员数据列表,如果用户输入的学员姓名存在则打印学员信息,否则提示该学员不存在。
    • 代码
        # 2.5 查询学员信息
        def search_student(self):
            # 1. 用户输入目标学员姓名
            search_name = input('请输入要查询的学员的姓名:')
    
            # 2. 如果用户输入的目标学员存在,则打印学员信息,否则提示学员不存在
            for i in self.student_list:
                if i.name == search_name:
                    print(f'姓名{i.name},性别{i.gender}, 手机号{i.tel}')
                    break
            else:
                print('查无此人!')
    Nach dem Login kopieren

    3.4.6 显示所有学员信息

    • 打印所有学员信息
    • 步骤
      • 遍历学员数据列表,打印所有学员信息
    • 代码
        # 2.6 显示所有学员信息
        def show_student(self):
            print('姓名\t性别\t手机号')
            for i in self.student_list:
                print(f'{i.name}\t{i.gender}\t{i.tel}')
    Nach dem Login kopieren

    3.4.7 保存学员信息

    • 需求:将修改后的学员数据保存到存储数据的文件。
    • 步骤
      • 打开文件
      • 文件写入数据
      • 关闭文件

    思考

    1. 文件写入的数据是学员对象的内存地址吗?
    2. 文件内数据要求的数据类型是什么?
    • 拓展__dict__
    class A(object):
        a = 0
    
        def __init__(self):
            self.b = 1aa = A()# 返回类内部所有属性和方法对应的字典print(A.__dict__)# 返回实例属性和值组成的字典print(aa.__dict__)
    Nach dem Login kopieren

    在Python中

    • 代码
        # 2.7 保存学员信息
        def save_student(self):
            # 1. 打开文件
            f = open('student.data', 'w')
    
            # 2. 文件写入学员数据
            # 注意1:文件写入的数据不能是学员对象的内存地址,需要把学员数据转换成列表字典数据再做存储
            new_list = [i.__dict__ for i in self.student_list]
            # [{'name': 'aa', 'gender': 'nv', 'tel': '111'}]
            print(new_list)
    
            # 注意2:文件内数据要求为字符串类型,故需要先转换数据类型为字符串才能文件写入数据
            f.write(str(new_list))
    
            # 3. 关闭文件
            f.close()
    Nach dem Login kopieren

    3.4.8 加载学员信息

    • 需求:每次进入系统后,修改的数据是文件里面的数据

    • 步骤

      • 尝试以"r"模式打开学员数据文件,如果文件不存在则以"w"模式打开文件
      • 如果文件存在则读取数据并存储数据
        • 读取数据
        • 转换数据类型为列表并转换列表内的字典为对象
        • 存储学员数据到学员列表
      • 关闭文件
    • 代码

        # 2.8 加载学员信息
        def load_student(self):
            # 尝试以"r"模式打开数据文件,文件不存在则提示用户;文件存在(没有异常)则读取数据
            try:
                f = open('student.data', 'r')
            except:
                f = open('student.data', 'w')
            else:
                # 1. 读取数据
                data = f.read()
    
                # 2. 文件中读取的数据都是字符串且字符串内部为字典数据,故需要转换数据类型再转换字典为对象后存储到学员列表
                new_list = eval(data)
                self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list]
            finally:
                # 3. 关闭文件
                f.close()
    Nach dem Login kopieren

    四. 总结

    • 函数
      • 定义和调用
      • 参数的使用
    • 面向对象
      • 定义类
      • 创建对象
      • 定义和调用实例属性
      • 定义和调用实例方法
    • 数据类型
      • 列表
        • 增加删除数据
        • 列表推导式
      • 字典
      • 字符串
    • 文件操作
      • 打开文件
      • 读取或写入
      • 关闭文件

    相关免费学习推荐:python教程(视频)

    Das obige ist der detaillierte Inhalt vonEinführung der objektorientierten Python-Version des Studentenverwaltungssystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Wie man Teamkollegen wiederbelebt
    1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So öffnen Sie das XML -Format So öffnen Sie das XML -Format Apr 02, 2025 pm 09:00 PM

    Verwenden Sie die meisten Texteditoren, um XML -Dateien zu öffnen. Wenn Sie eine intuitivere Baumanzeige benötigen, können Sie einen XML -Editor verwenden, z. B. Sauerstoff XML -Editor oder XMLSPY. Wenn Sie XML -Daten in einem Programm verarbeiten, müssen Sie eine Programmiersprache (wie Python) und XML -Bibliotheken (z. B. XML.etree.elementtree) verwenden, um zu analysieren.

    Gibt es eine mobile App, die XML in PDF umwandeln kann? Gibt es eine mobile App, die XML in PDF umwandeln kann? Apr 02, 2025 pm 08:54 PM

    Eine Anwendung, die XML direkt in PDF konvertiert, kann nicht gefunden werden, da es sich um zwei grundlegend unterschiedliche Formate handelt. XML wird zum Speichern von Daten verwendet, während PDF zur Anzeige von Dokumenten verwendet wird. Um die Transformation abzuschließen, können Sie Programmiersprachen und Bibliotheken wie Python und ReportLab verwenden, um XML -Daten zu analysieren und PDF -Dokumente zu generieren.

    So ändern Sie den Kommentarinhalt in XML So ändern Sie den Kommentarinhalt in XML Apr 02, 2025 pm 06:15 PM

    Für kleine XML -Dateien können Sie den Annotationsinhalt direkt durch einen Texteditor ersetzen. Für große Dateien wird empfohlen, den XML -Parser zu verwenden, um ihn zu ändern, um Effizienz und Genauigkeit zu gewährleisten. Seien Sie vorsichtig, wenn Sie XML -Kommentare löschen. Beibehalten von Kommentaren hilft das Verständnis und die Wartung von Code normalerweise. Erweiterte Tipps bieten Python -Beispielcode, um Kommentare mit XML -Parser zu ändern. Die spezifische Implementierung muss jedoch gemäß der verwendeten XML -Bibliothek angepasst werden. Achten Sie bei der Änderung von XML -Dateien auf Codierungsprobleme. Es wird empfohlen, die UTF-8-Codierung zu verwenden und das Codierungsformat anzugeben.

    Benötigt die XML -Änderung eine Programmierung? Benötigt die XML -Änderung eine Programmierung? Apr 02, 2025 pm 06:51 PM

    Das Ändern des XML -Inhalts erfordert die Programmierung, da die Zielknoten genau aufgefasst werden müssen, um hinzuzufügen, zu löschen, zu ändern und zu überprüfen. Die Programmiersprache verfügt über entsprechende Bibliotheken, um XML zu verarbeiten, und bietet APIs zur Durchführung sicherer, effizienter und steuerbarer Vorgänge wie Betriebsdatenbanken.

    Empfohlenes XML -Formatierungswerkzeug Empfohlenes XML -Formatierungswerkzeug Apr 02, 2025 pm 09:03 PM

    XML -Formatierungs -Tools können Code nach Regeln eingeben, um die Lesbarkeit und das Verständnis zu verbessern. Achten Sie bei der Auswahl eines Tools auf die Anpassungsfunktionen, den Umgang mit besonderen Umständen, die Leistung und die Benutzerfreundlichkeit. Zu den häufig verwendeten Werkzeugtypen gehören Online-Tools, IDE-Plug-Ins und Befehlszeilen-Tools.

    Gibt es ein kostenloses XML -zu -PDF -Tool für Mobiltelefone? Gibt es ein kostenloses XML -zu -PDF -Tool für Mobiltelefone? Apr 02, 2025 pm 09:12 PM

    Es gibt kein einfaches und direktes kostenloses XML -zu -PDF -Tool auf Mobilgeräten. Der erforderliche Datenvisualisierungsprozess beinhaltet komplexes Datenverständnis und Rendering, und die meisten sogenannten "freien" Tools auf dem Markt haben schlechte Erfahrung. Es wird empfohlen, Computer-Seiten-Tools zu verwenden oder Cloud-Dienste zu verwenden oder Apps selbst zu entwickeln, um zuverlässigere Conversion-Effekte zu erhalten.

    Ist die Konversionsgeschwindigkeit beim Umwandeln von XML in PDF auf Mobiltelefon schnell? Ist die Konversionsgeschwindigkeit beim Umwandeln von XML in PDF auf Mobiltelefon schnell? Apr 02, 2025 pm 10:09 PM

    Die Geschwindigkeit der mobilen XML zu PDF hängt von den folgenden Faktoren ab: der Komplexität der XML -Struktur. Konvertierungsmethode für mobile Hardware-Konfiguration (Bibliothek, Algorithmus) -Codierungsoptimierungsmethoden (effiziente Bibliotheken, Optimierung von Algorithmen, Cache-Daten und Nutzung von Multi-Threading). Insgesamt gibt es keine absolute Antwort und es muss gemäß der spezifischen Situation optimiert werden.

    Wie konvertiere ich XML -Dateien in PDF auf Ihrem Telefon? Wie konvertiere ich XML -Dateien in PDF auf Ihrem Telefon? Apr 02, 2025 pm 10:12 PM

    Mit einer einzigen Anwendung ist es unmöglich, XML -zu -PDF -Konvertierung direkt auf Ihrem Telefon zu vervollständigen. Es ist erforderlich, Cloud -Dienste zu verwenden, die in zwei Schritten erreicht werden können: 1. XML in PDF in der Cloud, 2. Zugriff auf die konvertierte PDF -Datei auf dem Mobiltelefon konvertieren oder herunterladen.

    See all articles