【练习】面向对象跑步减肥
项目简介
- 跑步减肥
知识模块
- 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__ 方法打印出对象的信息
代码讲解
-
首先,我们定义一个名为
Person
的类。在Person
类中,我们定义了构造方法__init__
,用于初始化人的名字和体重。构造方法接受两个参数,分别是name
和weight
,并将它们赋值给self.name
和self.weight
成员变量。 -
接下来,我们定义了一个实例方法
__str__
,用于返回一个字符串,表示人的名字、体重以及表示热爱跑步的信息。 -
紧接着,我们定义了两个实例方法
run
和eat
,分别表示人在跑步和吃饭的行为。在run
方法中,我们使用print
函数输出跑步的信息,并通过self.weight -= 0.5
将体重减少 0.5 公斤。在eat
方法中,我们使用print
函数输出吃饭的信息,并通过self.weight += 1
将体重增加 1 公斤。 -
最后,我们创建了两个
Person
类的实例对象xiaoming
和xiaomei
,分别代表小明和小美。通过调用实例方法来模拟他们的行为,并使用print
函数打印出相关信息。