python的类的实际联系--烤地瓜和搬家具
#coding:utf-8
2 class SweetPotato():
3 def __init__(self):
4 #先初始化对象
5 self.cook_time = 0
6 self.cook_state = "生的"
7 self.condiments = []#调味料
8
9 def cook(self,time):
10 """烤地瓜方法"""
11 self.cook_time += time
12 if 0 <= self.cook_time < 3:
13 self.cook_state = "生的"
14 if 3 <= self.cook_time < 5:
15 self.cook_state = "半生不熟"
16 if 5 <= self.cook_time < 8:
17
18 self.cook_state = "熟的"
19 if self.cook_time >= 8:
20 self.cook_state = "烤糊了"
21 def add_condiments(self,condiment):
22
23 #用户根据自己的爱好添加配料
24 self.condiments.append(condiment)
def __str__(self):
27 return f"时间:{self.cook_time},状态:{self.cook_sta te},配料{self.condiments}"
28
29 digui1 = SweetPotato()
30 print(digui1)
31 digui1.cook(2)
32 digui1.add_condiments("酱油")
33 print(digui1)
#运行结果
时间:0,状态:生的,配料[]
时间:2,状态:生的,配料['酱油']
#conding:utf-8
2 """"
3 定义类:
4 1.家具类
5 2.房子类
6 再通过类来创建对象
7
8 """""
9 class fitment():
10 def __init__(self,fitment_name,area):
11 self.fitment_name = fitment_name
12 self.area = area
13
14 class house():
15 def __init__(self,location,area):
16 #初始化实例的基本属性
17 self.location = location
18 self.area = area
19 self.remainint_area = area
20 self.fitments = []#空列表
21 def add_fitments(self,fitment):
22 if fitment.area > self.remainint_area:
23 print("该家具放不下")
24 return
25 else:
26 self.fitments.append(fitment.fitment_name)
27 self.remainint_area -= fitment.area
28 print("家具摆放成功!")
29 return
30 def __str__(self):
31 return f"房屋的位置:{self.location},房子的面积:{s elf.area},剩余面积{self.remainint_area},房屋家具有{self.fit ments}"
32
33 bed = fitment("双人床",6)
34 sofa = fitment("沙发",10)
35 home = house("北京",1000)
36 home.add_fitments(bed)
#运行结果
家具摆放成功!
房屋的位置:北京,房子的面积:1000,剩余面积994,房屋家具有['双人床']
从代码中我们可以体会到面对对象编程的好处,可以是代码的变得十分简洁。
python的类的实际联系--烤地瓜和搬家具的更多相关文章
- Python笔记——类定义
Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
- 【python】类中的self
在python的类中,经常会写self,代表对象自己.如下例: #coding=utf-8 class Foo: def __init__(self, name): self.name = name ...
- python基础——类和实例
python基础——类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都 ...
- python(6)-类
面向对象编程是一种编程方式,此编程方式的落地需要使用 "类" 和 "对象" 来实现,所以,面向对象编程其实就是对 "类" 和 "对 ...
- 从C#到Python —— 4 类及面向对象
http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...
- Python type类具体的三大分类:metaclasses,classes,instance
Python type类视角中的对象体系需要我们不断的学习,其中我们使用的时候需要注意.下面我们就看看如何才能更好的运用Python type类.下面的文章希望大家有所收获. 在单纯的Python t ...
- python元类分析
刚開始接触到Python新式类中的元类的概念的时候非常是纠结了下..不知道这是个啥东西... 用下面几个定义来说明吧: (1)Python中,类也是对象..仅仅只是这样的对象比較的特殊,他用于创建别的 ...
- Python用类实现串以及对串的方法进行单元测试
串是一种常见的数据结构,这里使用Python定义类来实现相应的方法.先看代码,再对相关知识进行讲解. # coding=utf-8 __all__=['ADTString'] class ADTStr ...
- Python基础-类
Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...
随机推荐
- tensorflow报错:Attempting to fetch value instead of handling error Internal: failed to get device attribute 13 for device 0: CUDA_ERROR_UNKNOWN:
就是在spyder跑上一篇文章的代码然后就报错: Attempting to fetch value instead of handling error Internal: failed to get ...
- 全局ID生成--雪花算法
分布式ID常见生成策略: 分布式ID生成策略常见的有如下几种: 数据库自增ID. UUID生成. Redis的原子自增方式. 数据库水平拆分,设置初始值和相同的自增步长. 批量申请自增ID. 雪花算法 ...
- Java中Class.forName()用法和newInstance()方法详解
1.Class.forName()主要功能 Class.forName(xxx.xx.xx)返回的是一个类, Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就 ...
- 攻防世界ctf bug
bug 考查: 逻辑漏洞.文件内容检测绕过 ,文件头是位于文件开头的一段承担一定任务的数据,一般开头标记文件类型,如gif的gif89a,或gif87a, png的x89PNG\x0d\x0a,等等 ...
- R语言学习2:绘图
本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...
- Object Destructuring Assignment vs Object.assign
Object Destructuring Assignment vs Object.assign // const params = Object.assign({}, this.$route.par ...
- how to make one you own free online tutorials in minutes
how to make one you own free online tutorials in minutes educative.io https://www.educative.io/colle ...
- HTTP cache in depth
HTTP cache in depth HTTP 缓存 https://developers.google.com/web/fundamentals/performance/optimizing-co ...
- Kyle Tedford :人,一定要懂得转弯
每个人都渴望成功,但成功之路不仅仅只有一条. 有的时候,有一条路人满为患,每个人都挤破脑袋想要过去,然而能过去者,却寥寥无几.但有的人,却知道适时转弯,在新的道路上,摸索前进,最终通往成功. 最近,星 ...
- Linux下安装mysql-5.7.28详细步骤
一.下载Mysql 下载地址:https://downloads.mysql.com/archives/community/ 二.环境配置 检测系统是否自带Mysql # rmp -qa|grep m ...