将 属性 和 方法 封装 到一个抽象的类中, 外界使用类创建对象, 然后让对象调用方法.
class Person():
def __init__(self, name, weight):
self.name = name
self.weight = weight
def eat(self):
print("%s吃东西" % self.name)
self.weight += 1
print("%s的体重为%d" % (self.name, self.weight))
def run(self):
print("%s跑步" % self.name)
self.weight -= 1
print("%s的体重为%d" % (self.name, self.weight))
p = Person("小明", 75)
p.eat()
p.run()
class HouseItem:
def __init__(self, name, area):
# 家具名称
self.name = name
# 占地面积
self.area = area
def __str__(self):
return "[%s] 占地 %.2f" % (self.name, self.area)
# 创建家具对象
bed = HouseItem("席梦思", 4)
chest = HouseItem("衣柜", 2)
table = HouseItem("桌子", 1.5)
class House:
def __init__(self, house_type, area):
# 户型
self.house_type = house_type
# 面积
self.area = area
# 剩余面积
self.free_area = area
# 家具列表
self.item_list = []
def __str__(self):
return ("户型: %s\n面积: %.2f[剩余面积: %.2f]\n家具列表%s" %
(self.house_type, self.area,
self.free_area, self.item_list))
def add_item(self, item):
print("要添加%s" % item)
# 创建房子对象
my_home = House("两室一厅", 100)
print(my_home)
my_home.add_item(bed)
def add_item(self, item):
if self.free_area > item.area:
self.free_area -= item.area
self.item_list.append(item.name)
print("要添加%s" % item)
print("剩余空间: %s" % self.free_area)
else:
print("剩余空间不足, 不能添加, 剩余%s" % self.free_area)