#房子要使用到家具,被使用的类通常先开发

class HouseItem:

def __init__(self,name,area):

self.name=name

self.area=area

def __str__(self):

return "[%s] 占地 %.2f" % (self.name,self.area)

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):

#Python 能够自动的将一对括号内部的代码连接在一起

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)

#1.判断家具的面积

if item.area > self.free_area:

print("%s的面积太大了,无法添加" % item.name)

return #只要return执行,下发代码就不会继续执行

#2.将家具的名称添加到列表中

self.item_list.append(item.name)

#3.计算剩余面积

self.free_area-=item.area

#1.创建家具

bed=HouseItem('席梦思',50)

chest = HouseItem('衣柜',60)

table = HouseItem('餐桌',20)

# print(bed)

# print(chest)

# print(table)

#2.创建房子对象

my_home = House("两室一厅",100)

my_home.add_item(bed)

my_home.add_item(chest)

my_home.add_item(table)

print(my_home)

#主程序只负责创建房子对象和家具对象

#让房子对象调用add_item方法将家具添加到房子中

#面积计算、剩余面积、家具列表等处理都被封装到房子类的内部

python搬家具_Python面向对象实现案例———摆放家具相关推荐

  1. python封装举例_Python面向对象封装操作案例详解

    本文实例讲述了Python面向对象封装操作.分享给大家供大家参考,具体如下: 目标 封装 小明爱跑步 存放家具 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 -- 将 属性 和 ...

  2. python预测糖尿病_Python数据挖掘 | 实战案例之预测糖尿病

    今天给大家讲解一个实战案例:如何根据现有数据预测糖尿病.在这个案例开始之前,希望大家回忆一下大学里讲过的线性回归的知识,这是数据挖掘里非常重要的一部分知识.当然,鉴于大家都学过,本篇就不再赘述. 一. ...

  3. python self理解_Python面向对象总结,让你快速掌握面向对象常用的用法

    python等面向对象的提出是为了更好的处理和管理同属一个类别的事情,这样就可以省去多余重复的基础代码,让程序变得更加简洁和强大.对于学习编程的朋友来说,熟悉掌握面向对象是非常重要的. 下面开始讲讲关 ...

  4. python编程语言继承_Python面向对象程序设计类的封装与继承用法示例

    本文实例讲述了Python面向对象程序设计类的封装与继承用法.分享给大家供大家参考,具体如下: 访问限制(封装) 1.概念 面向对象语言的三大特征:封装, 继承, 多态. 广义的封装: 类和函数的定义 ...

  5. python oop示例_python 面向对象oop

    1 oop 对象世界观  -- oop是目前人类认知最接近实际生活的语言 一切事务皆对象 对象有运动规律和内部状态 对象之间可以相互调用 2.面向对象 唯一性:对象具有唯一性,不存在两个相同的对象,除 ...

  6. python文件审计_Python代码审计实战案例总结之CRLF和任意文件读取

    文章目录 介绍 CRLF和任意文件读取的审计实战 CRLF 审计实战 urllib CRLF漏洞(CVE-2019-9740和CVE-2019-9947) httplib CRLF 漏洞 任意文件读取 ...

  7. python递归函数例子_Python递归函数经典案例-汉诺塔问题

    汉诺塔 汉诺塔问题是递归算法学习的一个经典案例,首先来看下汉诺塔问题的相关描述: 汉诺塔问题起源于一个古老的印度传说,大梵天创世时制作了三根金刚石石柱,在第一根柱子上从上往下从小到大摞着64片金盘,婆 ...

  8. python calu()函数_python面向对象

    Python面向对象 @ 类 类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础.类是一种用户定义的引用数据类型,也称类类型.每个类 ...

  9. python 鱼骨图_python面向对象编程,鱼骨图分析法

    一.面向对象编程 ​ 面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么.后干什么.再干什么.然后干什么-- 与工厂的工艺流程差不多,前后都有影响 优点:复杂的问题流程化,进而简单化, ...

  10. python通过银行卡号_python面向对象编程实例---银行账号

    转载自python面向对象编程示例---银行账号 | 酷python​www.coolpython.net 在最初接触面向对象编程时,你会感到有些不习惯,但这种编程范式却有助于我们思考问题,前提是你准 ...

最新文章

  1. Php单链表冒泡排序算法,冒泡排序(链表实现)
  2. flask 报错 GET /socket.io/?EIO=3transport=pollingt=(跨域问题?)
  3. HDU——1418抱歉(平面欧拉公式)
  4. 3D游戏引擎设计 实时计算机图形学的应用方法 第2版 pdf 带索引书签目录
  5. Dotnet全平台下APM-Trace探索
  6. C++socket编程(八):8.2简单的基于UDP的客户端和服务端
  7. CF429E Points and Segments
  8. 循序渐进!java开发手册阿里巴巴泰山版
  9. 4月18日云栖精选夜读 | 阿里靠什么支撑 EB 级计算力?
  10. Ubuntu之解决需权限才能访问串口的方法
  11. inotify监控文件变化
  12. opencv连接大华摄像头
  13. java中math是什么意思,java中的Math种
  14. 程序员的福利:使用WebCollector爬取某美女网站上的图片
  15. 如何成为一家顶级域名注册商及如何提供域名注册
  16. 四管前级怎么去掉高低音音调_烧友自荐:2SK304四管前级制作难点浅析
  17. Android Mars XLog的编译
  18. 手机号不用后,这操作必须要做,不然银行卡里的钱就别人花了
  19. 将模板内容存储到数据库,通过URL访问报表
  20. [CDLinux]制作U盘CDLinux系统启动盘

热门文章

  1. 交叉编译openssl(arm和x86_64)
  2. Unity内置Shader解读10——Self-Illumin/Bumped Diffuse
  3. 摘录整理:日本文化常识之历史篇
  4. unity3D神奇bug,显示中文异常
  5. 计算机教案画圆形和方形,小学信息《画方形和圆形》教学设计
  6. Visual Tracking Resources
  7. 植物大战僵尸:代码实现无限阳光
  8. window无法访问此文件夹,请确保输入的文件名是正确的,并且您有权访问此文件夹
  9. 人民币对美元汇率中间价报6.7472元 上调469个基点
  10. linu快速删除文件