所以我有两个班级Student和UniClass。我想让UniClass的 str 方法给出一个集合的字符串,其中包含一个由Student的 str 方法给出的多个字符串。 我为此编写的代码可以正常工作:
def __str__(self):
"""Gives back a String in the form 'name [imt_name] in Semester semester'"""
return '{} [{}] in Semester {}'.format(self.name, self.imt_name, self.semester)
对于学生班和
def __str__(self):
"""without a student object, "set()" is returned, with one or multiple student objects, a string containing of the strings from the student class is returned"""
if self._students == set():
return "set()"
else:
rückgabe = set()
for student in self._students:
rückgabe.add(str(student))
return str(rückgabe)
如果我调用UniClass对象返回字符串。
例如,如果我有一个名称为“ David”,imt_name =“ D3123”且学期为3的学生对象,则学生的 str 方法应返回字符串“ David [ D3123]在第3学期”,UniClass应该返回字符串“ {{David [D3123]在第3学期}”。如果一个UniClass对象中有多个学生对象,则应以逗号分隔的形式将其返回。
虽然一切正常,但我唯一的问题是UniClass类返回的字符串的格式为{'第2学期的David [D3123],'第3学期的Jonas [J312344]'},不正确,因为该字符串将被测试并且必须具有不带引号的上段形式。
有没有一种方法可以使集合中的字符串不带引号而不使用strip方法(因为我已经尝试过了,并且字符串完全没有变化)?