#!/usr/bin/python
#!coding:utf-8
import sys
#定义一个类:房间,房间包含了属性和行为
class Room:
def __init__(self):
self.location = '阜成路西一段'
self.area = 180
self.containList = []
#值得注意的是当容纳哪个物品时就把那个物品的MSG叠加到这个总MSG消息里来(msg += str(temp))
def __str__(self):
k = len(self.containList)
msg = '你房间的地理位置是:' + self.location +', 可用面积有'+str(self.area)+'平方米。'
if k != 0:
for temp in self.containList:
msg += str(temp)
return msg
def containItem(self,Item):
if self.area > Item.area:
self.containList.append(Item)
k = len(self.containList)
for temp in self.containList:
self.area -= temp.area
else:
print('可用面积不够添加新的物件,添加失败')
return self.area
#定义一个类:床,床包含了属性和行为
class Bed:
def __init__(self,area,high,color):
self.area = area
self.high = high
self.color = color
def __str__(self):
msg = '席梦思床的面积' + str(self.area) +', 高度'+str(self.high)+'米'+', 颜色'+self.color + '!!! '
return msg
#定义一个类:书桌,书桌包含了属性和行为
class Desk:
def __init__(self):
self.area = 0.8
self.high = 1
self.form = 'round'
def __str__(self):
msg = '绿桌的面积' + str(self.area) +', 高度'+str(self.high)+'米'+', 桌面的形状'+self.form
return msg
#生产具体对象
print('*'*35)
myHome = Room()
print(myHome)
xiMengSi = Bed(193,0.5,'blue')
print(xiMengSi)
greenDesk = Desk()
print(greenDesk)
print(greenDesk.high)
print('*'*35)
print('放一张席梦思床之后的房间信息')
myHome.containItem(xiMengSi)
print(myHome.containList)
print(myHome)
print('*'*35)
print('再放一张绿桌之后的房间信息')
myHome.containItem(greenDesk)
#print([i for i in myHome.containList])
print('输出一个元组的内存地址')
print(myHome.containList)
print(myHome)
print('*'*35)
print('席梦思和圆桌的信息没有发生变化')
print(xiMengSi)
print(greenDesk)
输出如下:
你房间的地理位置是:阜成路西一段, 可用面积有180平方米。
席梦思床的面积193, 高度0.5米, 颜色blue!!!
绿桌的面积0.8, 高度1米, 桌面的形状round
1
放一张席梦思床之后的房间信息
可用面积不够添加新的物件,添加失败
[]
你房间的地理位置是:阜成路西一段, 可用面积有180平方米。
再放一张绿桌之后的房间信息
输出一个元组的内存地址
[<main.Desk object at 0x0000000002367FD0>]
你房间的地理位置是:阜成路西一段, 可用面积有179.2平方米。绿桌的面积0.8, 高度1米, 桌面的形状round
席梦思和圆桌的信息没有发生变化
席梦思床的面积193, 高度0.5米, 颜色blue!!!
绿桌的面积0.8, 高度1米, 桌面的形状round