繁体   English   中英

在python中遍历列表

[英]Going through list from class in python

对于学校项目,我必须编写一个Python程序来记录学生记录并显示它们。

我的学校说她想开一个代表学生注册的班级,但我不知道我该怎么做。

我创建了以下内容:

class SchoolRegister:

    def __init__(self):
        ListOfPupils = {}

    def REgisterPupil(self, lastname, firstname, schoolID):
        ListOfPupils[schoolID] = (lastname, firstname)

 sr = SchoolRegister()
 sr.REgisterPupil("Thomas", "Lucy", 1)
 sr.REgisterPupil("Percival", "Jenny", 2)

我想查看清单,以便列出清单:1,托马斯,露西2,珀西瓦尔,詹妮

我进行了搜索,发现了一种使班级充当学生名单的方法,所以我可以在sr中做一个bod,但我不明白:(

这个问题提供了一个平台,在这个平台上我们可以讨论一些有趣的面向对象的编程概念! 理想情况下,我们希望通过创建代表真实世界的数据模型来用代码映射真实世界。 这是面向对象编程为我们提供的继承价值。

让我们使用您的示例。

我们的重点是能够创建已存在的学生的记录(也许我们应该对学生进行建模,并创建定义学生对我们的意义的参数)并注册(我们希望能够从中添加和删除学生,以及能够在我们可以访问的中央位置检索学生身体的状态)。

因此,我们可以继续实施一个简单的Student类,该类代表我们所关注的学生(很难在几个因素上真正量化人类,因此让我们缩小关注范围:D):

class Student:
    def __init__(self, id, first_name, last_name):
        self.id = id
        self.first_name = first_name
        self.last_name = last_name

现在,我们可以创建代表学生的对象,并以结构化方式存储该信息。 现在转到学校注册簿,让我们考虑一下我们需要什么样的数据。 我们如何才能充分了解所有现有的学生? 我们可能使用的可能的数据结构可能是list 这使我们可以选择(1)存储所有现有的学生(2)保持将学生插入列表(或也许在学校就读)的顺序。

但是,如果我们希望能够快速访问Student对象,该怎么办? 也许我们想在注册表中了解更多有关学生的信息,我们可以访问他们的id 那么在那种情况下,我们可以使用一个dict ,该dict可以使用某种独特的标识符(即id )为我们提供方便的学生查找。

让我们继续执行一个简单的示例:

class SchoolRegister:
    def __init__(self):
        self.students = {}

    def register_student(self, student):
        self.students[student.id] = student

    def get_student_by_id(self, id):
        return self.students[id]

现在,我们可以(1)创建一个Student(2)将其添加到我们的记录中, (3)使用键( 其id )查找该学生信息,如下所示:

school_register = SchoolRegister()
john_doe = Student(0, 'John', 'Doe')
school_register.register_student(john_doe)
school_register.get_student_by_id(0)  # John Doe!

建议阅读:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM