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语句中移动断点,这样它才能完美地工作。