他!P我如何制作一个方法来遍历列表,并根据类型检查要打印的类型



我想制作一个方法(showList(,该方法在一个名为dictionary的列表中迭代,并根据它打印的对象类型打印student、faculty或两者。参数需要是s(对于学生(、f(对于教师(和b(对于两者(,并且b需要是方法的默认参数。对象类型是基于我创建的类的Student或Faculty。这行得通吗?

def showList(b, s, f):
for i in self.directory:
if isinstance (s, Student):
return True, "Student"
elif isinstance (f, Faculty):
return True, "Faculty"
elif isinstance (b, b):
return True, "Both"

给定函数中只能return一次。既然你说你想根据项目的类型为self.directory中的每个项目print一个字符串,我想你可能想做的是:

def showList():
for i in self.directory:
if isinstance(i, Student) and isinstance(i, Faculty):
print("Both")
elif isinstance(i, Student):
print("Student")
elif isinstance (i, Faculty):
print("Faculty")

然而,一种更简单的方法可能是在各种类中实现__str__方法,该方法将在打印该类的实例时打印适当的字符串。

最新更新