Эффективный способ добавления объектов в список унаследованных классов

#class

#класс

Вопрос:

Я немного узнал о классах, потому что я никогда не слишком подробно освещал эту тему и никогда не знал об этом много, так как я новичок, и я написал небольшую программу, чтобы немного попрактиковаться, и мне было интересно, есть ли более эффективный способ добавления экземпляров класса, таких как students, в списокстудентов, извините за глупый заголовок и не очень понятное описание, но я скопирую код здесь, чтобы он был более понятным

 class Student:

    def __init__(self, name, grade, major, is_smart: bool):
        self.name = name
        self.grade = grade
        self.major = major
        self.is_smart = is_smart

    def get_grade(self):
        return self.grade

    def get_major(self):
        return self.major


class ComputerScience:

    def __init__(self, name):
        self.name = name
        self.students = []

    def add_student(self, student):
        self.students.append(student)


s1 = Student('Denis', 91, 'Computer Science', True)
s2 = Student('Julia', 81, 'Electronics', False)
s3 = Student('John', 56, 'Gender Studies', False)
s4 = Student('Mark', 88, 'Computer Science', True)
s5 = Student('Lora', 96, 'Medicine', True)
s6 = Student('Lucy', 99, 'Computer Science', False)


computer_class = ComputerScience('Majors')
computer_class.add_student(s1)
computer_class.add_student(s2)
computer_class.add_student(s3)
computer_class.add_student(s4)
computer_class.add_student(s5)
computer_class.add_student(s6)

for student in computer_class.students:
    print(student.name   "'s major is "   student.major)
 

Моя проблема была в этой части:

 computer_class.add_student(s1)
 

Я думаю, что должен быть более эффективный способ добавления учеников в список,

Спасибо за вашу помощь!

Комментарии:

1. Что вы подразумеваете под «более эффективным»? Чего бы вы хотели достичь?

Ответ №1:

Нет необходимости иметь переменную для каждого объекта Student, поэтому вы можете добавить студента следующим образом:

 computer_class.add_student(Student('Denis', 91, 'Computer Science', True))
 

Если у вас много объектов student, лучше читать их из файла.