轻松学会python面向对象第7篇---类可以形象的描述数据之间的关系

不考虑特殊情况,一个班主任带一个班级,这位班主任老师与学生之间就建立起了一对多的关系。

在这里插入图片描述

如果不用面向对象,你难以用代码来描述他们之间的关系。

类,是一种约定,是对内容的约定,对关系的约定,对行为的约定。在没有实例被创建出来之前,仅仅通过约定,就能够让你对数据有一个非常全面且形象的理解。

class Student():
    def __init__(self, name, yw_score, sx_score):
        self.name = name            # 姓名
        self.yw_score = yw_score    # 语文分数
        self.sx_score = sx_score    # 数学分数
        self.teacher = None         # 老师


class Teacher():
    def __init__(self, name):
        self.name = name            # 姓名
        self.students = []          # 学生

先不要急着考虑如何使用者两个类,这不是本文的重点。本文的重点是向你介绍类如何描述数据之间的关系。

类Student定义了一个teacher属性,而类Teacher里定义了一个students属性,类型是列表,结合现实中老师与学生的关系,你应当已经猜到,这两个属性将被赋值特定的对象。

stu = Student('小明', 98, 99)
teacher = Teacher('张老师')

stu.teacher = teacher
teacher.students.append(stu)

print(stu.teacher.name)
print(teacher.students)

在现实中,你可以通过一个学生找到他的老师,也可以通过一个老师了解到他的学生。

通过面向对象技术,在代码构建出的虚拟逻辑世界中,你仍然可以通过学生找到老师,通过老师找到学生。

用面向对象的方式可以更好的来描述具体的世界,也就是建模。

类让原本抽象的代码,逻辑,概念,都具象化了,你只需要将类的描述与现实世界中对应的事物进行关联,就可以自然且顺畅的理解代码意图。

反过来,当你想用代码去完成某件事情时,就可以先思考,是否应当先定义一个或者几个类,来描述或者定义你想做的事情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值