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类,绑定方法与非绑定方法的区 ...
随机推荐
- Gym 101128J Saint John Festival(凸包 + 二分判点和凸包关系)题解
题意:给你一堆黑点一堆红点,问你有最多几个黑点能找到三个红点,使这个黑点在三角形内? 思路:显然红点组成的凸包内的所有黑点都能做到.但是判断黑点和凸包的关系朴素方法使O(n^2),显然超时.那么我现在 ...
- 高并发之Phaser、ReadWriteLock、StampedLock
本系列研究总结高并发下的几种同步锁的使用以及之间的区别,分别是:ReentrantLock.CountDownLatch.CyclicBarrier.Phaser.ReadWriteLock.Stam ...
- js code review
js code review https://codereview.stackexchange.com/ refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只 ...
- TypeScript Interface vs Types All In One
TypeScript Interface vs Types All In One TypeScript https://www.typescriptlang.org/docs/handbook/adv ...
- 图解 git workflow
图解 git workflow 图解 git 工作流 git-flow https://www.git-tower.com/learn/git/ebook/cn/command-line/advanc ...
- TypeScript & as & Type Assertion
TypeScript & as & Type Assertion Type Assertion (as) That is not vanilla JavaScript, it is T ...
- SVG image tag
SVG image tag https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/SVG_Image_Tag <?xml versi ...
- Win/Mac 键位映射 & 在 Mac 上更改“键盘”偏好设置
Win/Mac 键位映射 & 在 Mac 上更改"键盘"偏好设置 PC键盘 在Mac下Command/Option键切换 https://support.apple.com ...
- flutter web in action
flutter web in action flutter for web https://flutter.dev/web https://flutter.dev/docs/get-started/w ...
- NGK官方又出助力市场计划方案 1万枚VAST任性送
近期NGK官方的一系列动作,可以说是在向外界宣告:NGK2.0即将来袭,席卷加密数字货币市场.前一段时间,NGK官方宣布,NGK公链布局算力领域,打造NGK算力生态星空计划,并推出了SPC星空币.目前 ...