#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, лучше читать их из файла.