__str__ в Python не соблюдает escape-ключи [дубликат]Python

Программы на Python
Anonymous
__str__ в Python не соблюдает escape-ключи [дубликат]

Сообщение Anonymous »

Итак, я изучаю объектно-ориентированное программирование и метод __str__ и обнаружил, что при добавлении элементов в список форматирование элемента отличается от того, когда я просто печатаю конкретный объект класса. В частности, не соблюдаются escape-ключи.
Как сохранить форматирование __str__ для класса Student при добавлении студента в пустой список в курсе?< /p>

Код: Выделить всё

class Student:
def __init__(self, name, age):
self.name = name
self.age = age

def __str__(self):
return f'{self.name} may enrol in this course for the following reasons:\n He is a good looking bloke \n He has matching socks'

class Course:
def __init__(self):
self.course = []
self.eligible_students = ['Michael', 'Gary', 'Travis']

def add_student_to_course(self, student):
if student.name in self.eligible_students:
self.course.append(str(student))
return self.course

def __str__(self):
return f"The course contains these students: {self.course}"

student1 = Student('Michael', 40)
course = Course()
course.add_student_to_course(student1)
print(course)
Я ожидал, что форматирование __str__ для класса Student будет перенесено в пустой список в классе Course

Подробнее здесь: https://stackoverflow.com/questions/790 ... scape-keys

Вернуться в «Python»