首页 > 解决方案 > 如何在 python 中链接 2 个类,以便属于一个类的对象也具有另一个类的属性?

问题描述

我必须创建一个学生列表。每个学生都有个人信息(姓名出生日期等),成绩(数学,英语,科学),我只需要打印出数学成绩高于英语但低于他们的学生在科学中。我创建了这些课程,但我遇到了一些麻烦,因为个人信息、出生日期和成绩必须是所有不同的课程。
在此处输入图像描述

这是我的课程,它们是按顺序排列的personal_infodate_of_birthgrades

标签: pythonclass

解决方案


首先确保你肯定需要所有 3 个类。通过数据-对象关系,与 Student 类相关的所有信息都可以是 self.property。这样,当您创建 Student 的实例时,您只需将所有数据传递给构造函数并使用条件语句打印出符合您条件的 Student。

或者,如果由于某种原因您希望将所有 3 个类分开(不推荐),您可以实例化 3 个类并将它们注入到 Student 类的构造函数中,例如:

names = Names(name='John', surname='Dowe')
date_of_birth = DateOfBirth(day=1, month=1, year=1970)
grades = Grades(math=1, english=2, science=3)

class Student(names, date_of_birth, grades)
    def __init__(self):
        self.names = names
        self.date_of_birth = date_of_birth,
        self.grades = grades

    def am_i_eligible():
        if (self.grades.english < self.grades.math < self.grades.science):
        print("First research and read documentation, then check university of youtube, then ask someone to make your homework.")

new_student = Student(names, date_of_birth, grades)
print(new_student.grades.math)
print(new_student.names.name)
print("Never post question as screenshot and do the effort to translate it to english so variable names are meaningful to us.")

new_student.am_i_eligible()

推荐阅读