困惑于:course_running.add_student(个体经营)

时间:2017-08-17 11:47:25

标签: python oop

请问有人能帮助我理解吗?我不明白这一行发生了什么或它起作用的原因:course_running.add_student(self)

我认为这是一个OOP概念,但任何人都可以帮助这个更清楚吗?

class Student:
    def __init__(self, name, student_number):
        self.name = name
        self.student_number = student_number
        self.classes = []

    def enrol(self, course_running):
        self.classes.append(course_running)
        course_running.add_student(self)

class CourseRunning:
    def __init__(self, course, year):
        self.course = course
        self.year = year
        self.students = []

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

2 个答案:

答案 0 :(得分:1)

CourseRunning是类course_running.add_student(self)的对象,add_student正在调用名为students的类的方法,该类将学生附加到( [Measures].[Number of accounts] ,[Account Status].[Account Status].&[Anonymous] ,[Account Status].[Account Status].&[Closed] ,[Account Status].[Account Status].&[Closed due to Fraud] ,[Account Status].[Account Status].&[To be closed] ,[Account Status].[Account Status].&[<unknown>] ) 列表。

答案 1 :(得分:1)

enrol()课程中的Student函数有两个参数: self course_running

self是您当前班级的实例(Student

这就是为什么你的add_student()函数(它还带有两个参数:selfCourseRunning类的当前实例)和student(这只是一个< strong> Student的实例))。

这就是为什么您可以将self 中的 enrol() 作为 student 传递给add_student()