向不带引号的集添加字符串(Python)

2024-07-03 06:08:39 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有两个班,一个是学生班,一个是一班。我想让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的一个对象,为了得到字符串

例如,如果有一个student对象name=“David”,imt\u name=“D3123”和term=3,student的str方法应该返回字符串“David[D3123]in term 3”,UniClass应该返回字符串“{David[D3123]in term 3}”。如果在一个单类对象中有多个学生对象,则应以逗号分隔的形式返回

虽然一切正常,但我唯一的问题是UniClass类返回的字符串的格式是{David[D3123]在第2学期,'Jonas[J312344]在第3学期},这是不好的,因为字符串将被测试,的形式,上面的段落没有引号

有没有一种方法可以让字符串在集合中表示为不带引号的字符串,而不使用strip方法(因为我已经尝试过了,而且字符串根本没有改变)


Tags: the对象方法字符串nameinselfreturn