Python 3.x Python—如何通过查找对象的属性来搜索存储在列表中的对象

Python 3.x Python—如何通过查找对象的属性来搜索存储在列表中的对象,python-3.x,Python 3.x,我有一个存储学生属性的类: class Student(object): def __init__(self): self.__name = '' self.__nationality= '' self.__age = 0 self.studentId='' class EnglishStudent(Student): def __init__(self): Student.__init__(sel

我有一个存储学生属性的类:

class Student(object):
    def __init__(self):
        self.__name = ''
        self.__nationality= ''
        self.__age = 0
        self.studentId=''

class EnglishStudent(Student):
    def __init__(self):
        Student.__init__(self)
        self.__englishStudents = []   
我从csv导入学生详细信息。并从中创建新的学生对象,并将其存储在self中

我正在尝试创建一个函数,该函数以学生id作为输入,检查学生id是否为self.\u englishStudents[]格式,如果找到,则返回所有学生详细信息

有什么建议吗

这是我到目前为止所知道的,但似乎没有找到学生,尽管我确信这是在我自己身上

def getStudentDetails(self, studentId):
        for student in self.__englishStudents:
            if self.studentId == studentId
                print(student.getName(), student.getAge())
            else:
                print("Student ID not found") 
                break               

看起来您试图检查的是
self.studentId
,而不是要比较的学生对象。如果self.studentId==studentId尝试将
更改为
如果student.studentId==studentId

该区块将变成:

def getStudentDetails(self, studentId):
        for student in self.__englishStudents:
            if student.studentId == studentId
                print(student.getName(), student.getAge())
            else:
                print("Student Id not found") 
                break

请举一个自我的例子!谢谢,现在可以了。我还需要在if语句中移动断点,这样它才能完美地工作。