Откуда это (студент) добавление - PullRequest
0 голосов
/ 30 мая 2020
class Student:
    def __init__(self,name,age,grade): #giving the attributes
        self.name=name
        self.age=age
        self.grade=grade

    def get_grade(self):
        return self.grade

class Course:
    def __init__(self,lesson,max_student):#giving attributes
        self.lesson=lesson
        self.max_student=max_student
        self.students=[]

    def add_student(self,student):
        if len(self.students)<self.max_student:
            self.students.append(student) #append(student) from where
            #I don't get where the append(student) get the name from.
            #As above code did't use student.
            return True
        return False

s1=Student('Tim',19,95) #Naming the student
s2=Student('bill',19,75)
s3=Student('jill',19,65)

course1=Course('Math',2)
course1.add_student(s1) #Adding the Student to a list by appending
course1.add_student(s2)

print(course1.students[0].name)
#Will give Tim but how do i print them all at once
#instead of multiple print maybe like a [0:1] but got error

1 Ответ

1 голос
/ 30 мая 2020
  • Метод append является частью Python. Это часть класса списков, поэтому все списки имеют этот метод (среди прочего). Проверьте документы . Вы устанавливаете self.students в пустой список в строке self.students = [].

  • Переменная student берется из аргумента add_student, как вы здесь указано: def add_student(self,student). Итак, когда вы вызываете course1.add_student(s1), s1 будет student внутри метода (потому что для методов класса первый аргумент self всегда является самим экземпляром класса и не должен указываться в вызове ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...