Skip to content

【练习】面向对象跑步减肥

项目简介

  • 跑步减肥

知识模块

  • Python 编程语言

知识点

  • 类、实例、构造方法、实例属性

受众

  • 初级测试开发工程师
  • 初级Python开发工程师

作业要求

  • 小明和小美都爱跑步
  • 小明体重 75 公斤
  • 小美体重 45 公斤
  • 每次跑步会减肥 0.5 公斤
  • 每次吃东西体重增加 1 公斤
  • 请根据打印出跑完步之后的体重

解题思路

  • 使用面向对象方法进行操作

完整代码

class Person:
    # 构造方法
    def __init__(self, name, weight):
        # 两个实例属性
        self.name = name
        self.weight = weight

    # 打印实例对象会返回的内容
    def __str__(self):
        return f"名字:{self.name} 体重:{self.weight} 很爱跑步"

    # 跑步实例方法
    def run(self):
        print(f"{self.name} 在跑步,体重减少0.5公斤")
        self.weight -= 0.5

    # 吃饭实例方法
    def eat(self):
        print(f"{self.name} 在吃饭,体重增加1公斤")
        self.weight += 1


# 实例对象一:小明
xiaoming = Person("小明", 75)  # 实例化一个 Person 对象,名字为 "小明",体重为 75
print(xiaoming)  # 打印 xiaoming 对象,会调用 __str__ 方法打印出对象的信息
xiaoming.eat()  # 调用 xiaoming 的 eat 方法,体重增加 1 公斤
xiaoming.run()  # 调用 xiaoming 的 run 方法,体重减少 0.5 公斤
print(xiaoming)  # 打印 xiaoming 对象,会调用 __str__ 方法打印出对象的信息

# 实例对象二:小美
xiaomei = Person("小美", 45)  # 实例化一个 Person 对象,名字为 "小美",体重为 45
print(xiaomei)  # 打印 xiaomei 对象,会调用 __str__ 方法打印出对象的信息
xiaomei.eat()  # 调用 xiaomei 的 eat 方法,体重增加 1 公斤
xiaomei.run()  # 调用 xiaomei 的 run 方法,体重减少 0.5 公斤
print(xiaomei)  # 打印 xiaomei 对象,会调用 __str__ 方法打印出对象的信息

代码讲解

  1. 首先,我们定义一个名为 Person 的类。在 Person 类中,我们定义了构造方法 __init__,用于初始化人的名字和体重。构造方法接受两个参数,分别是 nameweight,并将它们赋值给 self.nameself.weight 成员变量。

  2. 接下来,我们定义了一个实例方法 __str__,用于返回一个字符串,表示人的名字、体重以及表示热爱跑步的信息。

  3. 紧接着,我们定义了两个实例方法 runeat,分别表示人在跑步和吃饭的行为。在 run 方法中,我们使用 print 函数输出跑步的信息,并通过 self.weight -= 0.5 将体重减少 0.5 公斤。在 eat 方法中,我们使用 print 函数输出吃饭的信息,并通过 self.weight += 1 将体重增加 1 公斤。

  4. 最后,我们创建了两个 Person 类的实例对象 xiaomingxiaomei,分别代表小明和小美。通过调用实例方法来模拟他们的行为,并使用 print 函数打印出相关信息。