Есть много способов решить эту проблему.Я предпочитаю использовать метод __repr__
класса
Вот реализация:
class Student:
def __init__(self, name, course, age):
self.name = name
self.course = course
self.age = age
def roomNumber(self):
if self.course == "Computing":
room = "S227"
elif self.course == "Art":
room = "Art Studio 1"
else:
room = "Main hall"
return (room)
def parientSign(self):
if self.age > 17:
print("Parent doesn't need to sign")
else:
print("Parent needs to sign")
return
def __repr__(self):
return "Student({},{},{})".format(self.name, self.course,self.age)
newStudent = Student("Name One", "Computing", 18)
newStudent1 = Student("Bob Smart", "Art", 19)
newStudent2 = Student("Big Terry", "Computing", 16)
print(newStudent,newStudent1,newStudent2,sep = "\n")
Я предполагаю, что использование метода __repr__
говорит само за себя.Вы можете просто напечатать имя класса и все его атрибуты
Другой (не рекомендуемый) способ сделать это - использовать список объекта учеников.
class Student:
def __init__(self, name, course, age):
self.name = name
self.course = course
self.age = age
def roomNumber(self):
if self.course == "Computing":
room = "S227"
elif self.course == "Art":
room = "Art Studio 1"
else:
room = "Main hall"
return (room)
def parientSign(self):
if self.age > 17:
print("Parent doesn't need to sign")
else:
print("Parent needs to sign")
return
newStudent = Student("Name One", "Computing", 18)
newStudent1 = Student("Bob Smart", "Art", 19)
newStudent2 = Student("Big Terry", "Computing", 16)
l = [newStudent,newStudent1,newStudent2]
for students in l:
print("Student Name: ", students.name)
print("Student Course: ",students.course)
print("Your room number is: ", students.roomNumber())
print("Your Age is: ",students.age)
students.parientSign()