python - 如何在 python 中链接 2 个类,以便属于一个类的对象也具有另一个类的属性?
问题描述
我必须创建一个学生列表。每个学生都有个人信息(姓名出生日期等),成绩(数学,英语,科学),我只需要打印出数学成绩高于英语但低于他们的学生在科学中。我创建了这些课程,但我遇到了一些麻烦,因为个人信息、出生日期和成绩必须是所有不同的课程。
这是我的课程,它们是按顺序排列的personal_info
:date_of_birth
和grades
解决方案
首先确保你肯定需要所有 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()
推荐阅读
- laravel - 覆盖 laravel 5.7 自动发现的包路由
- r - 将边缘列表转换为二模网络矩阵
- html - 奇怪的 HTML 和 CSS 行为
- c# - C# 如何创建/托管实现现有 WSDL 和 XSD 合同的新 SOAP Web 服务
- c# - 收到来自 ARM 的访问令牌时已过期
- windows - Makecat 失败:未找到成员
- unreal-engine4 - 如何获得 UChildActorComponent 的世界位置?
- powershell - 将当前时间分配给 powershell 变量
- ethereum - 如何从 UI 中的合同修改器获取错误消息?
- reactjs - 如何从其父级更新反应控制组件的状态?