day_4_27 py
'''
2018-4-27 19:57:29
其实这些都是讲的类和对象的 self(在定义方法的时候默认的参数)就相当于java里面的this关键字, this.name=name class 类名: #类命名需要用大驼峰
属性
方法 (函数定义在类的里面叫方法,定义方法需要self )
def xxx(self):
pass
''' # demo
# class Cat:
# # 初始化对象 (完成初始化功能)
# def __init__(self,new_name,new_age):
# self.name = new_name
# self.age = new_age
# print("================")
# # 用于获取对象的信息
# def __str__(self):
# return "$s的年龄是:%d"%(self.name,self.age)
# # 方法
# def eat(self):
# print("猫在吃鱼.....")
# def drink(self):
# print("猫正在喝可乐;//")
# def introduce(self):
# print("%s的年龄是:%d"%(self.name,self.age))
#
# # 创建一个对象
# tom = Cat("汤姆",40)
# lanmao = Cat("蓝猫",10)
# # 调用tom指向的对象中的 方法
# print(tom)
# print(lanmao) #定义一个Home类 把一个对象添加到另外一个对象的属性里面去
class Home: def __init__(self, area):
self.area = area #房间剩余的可用面积
#self.light = 'on' #灯默认是亮的
self.containsItem = [] def __str__(self):
msg = "当前房间可用面积为:" + str(self.area)
if len(self.containsItem) > 0:
msg = msg + " 容纳的物品有: "
for temp in self.containsItem:
msg = msg + temp.getName() + ", "
msg = msg.strip(", ")
return msg #容纳物品
def accommodateItem(self,item):
#如果可用面积大于物品的占用面积
needArea = item.getUsedArea()
if self.area > needArea:
self.containsItem.append(item)
self.area -= needArea
print("ok:已经存放到房间中")
else:
print("err:房间可用面积为:%d,但是当前要存放的物品需要的面积为%d"%(self.area, needArea)) # 定义bed类
class Bed: def __init__(self,area,name = '床'):
self.name = name
self.area = area def __str__(self):
msg = '床的面积为:' + str(self.area)
return msg #获取床的占用面积
def getUsedArea(self):
return self.area def getName(self):
return self.name #创建一个新家对象
newHome = Home(100)#100平米
print(newHome) #创建一个床对象
newBed = Bed(20)
print(newBed) #把床安放到家里
newHome.accommodateItem(newBed)
print(newHome) #创建一个床对象
newBed2 = Bed(30,'席梦思')
print(newBed2) #把床安放到家里
newHome.accommodateItem(newBed2)
print(newHome) print("|=========================") # 烤地瓜
class SweetPotato :
def __init__(self):
self.cookedString ="生的"
self.cookedLevel = 0
self.codiments = [] #创建列表可以存储东西 def __str__(self):
return "地瓜 状态:%s(%d,添加的佐料有:%s)"%(self.cookedString,self.cookedLevel,str(self.codiments))
def cook(self,cooked_time):
self.cookedLevel += cooked_time
if self.cookedLevel >=0 and self.cookedLevel<3:
self.cookedString ="生的"
elif self.cookedLevel >=3 and self.cookedLevel<5:
self.cookedString ="半生不熟的"
elif self.cookedLevel >=5 and self.cookedLevel<8:
self.cookedString ="熟了"
elif self.cookedLevel>8:
self.cookedString = "烤糊了" def ddCondiments(self,item):
# 添加佐料
self.codiments.append(item)
#创建了一个地瓜对象
di_gua = SweetPotato()
print(di_gua)
# 开始烤地瓜 找到当前对象属性,使其改变属性
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)
di_gua.ddCondiments("大蒜")
di_gua.cook(1)
print(di_gua)
di_gua.cook(1)
print(di_gua)

day_4_27 py的更多相关文章
- python调用py中rar的路径问题。
1.python调用py,在py中的os.getcwd()获取的不是py的路径,可以通过os.path.split(os.path.realpath(__file__))[0]来获取py的路径. 2. ...
- Python导入其他文件中的.py文件 即模块
import sys sys.path.append("路径") import .py文件
- import renumber.py in pymol
cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...
- python gettitle.py
#!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...
- 解决 odoo.py: error: option --addons-path: The addons-path 'local-addons/' does not seem to a be a valid Addons Directory!
情况说明 odoo源文件路径-/odoo-dev/odoo/: 我的模块插件路径 ~/odoo-dev/local-addons/my-module 在my-module中创建了__init__.py ...
- caffe机器学习自带图片分类器classify.py实现输出预测结果的概率及caffe的web_demo例子运行实例
caffe机器学习环境搭建及python接口编译参见我的上一篇博客:机器学习caffe环境搭建--redhat7.1和caffe的python接口编译 1.运行caffe图片分类器python接口 还 ...
- 【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优
libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windo ...
- MySqlNDB使用自带的ndb_setup.py安装集群
在用Mysql做集群时,使用Mysql的NDB版本更易于集群的扩展,稳定和数据的实时性. 我们可以使用Mysql自带的工具进行集群安装与管理:ndb_setup.py.位于Mysql的安装目录bin下 ...
- 将做好的py文件打包成模块,供别人安装调用
现在要将写完的3个py文件,打包. 步骤: 1.新建一个文件夹setup(名字随便取),在setup文件夹下,再新建一个文件夹financeapi. 2.将上面4个py文件拷贝至financeapi文 ...
随机推荐
- 还在为工作发愁?学JavaScript吧
事实上,每家专业招聘机构,从Glassdoor.com和Linkedin到美国劳工部,都报导了就业市场对开发人员需求的增长速度出于意料地快.这种需求可能已经不新鲜了,但是就业市场对哪种开发语言的需求量 ...
- [Algorithm] Calculate Pow(x,n) using recursion
Asking you to implement the Math.pow method The navie implemenation can be: // O(N) const pow1 = (x, ...
- VirtualBox安装增强功能报错
VirtualBox默认不支持调整分辨率,想调整分辨率需要安装增强功能,点击菜单->设备->安装增强功能 我在安装的时候报错了,提示: 这个时候注意虚拟机的桌面,其实这个时候已经加载了虚拟 ...
- 【ZH奶酪】如何用sklearn计算中文文本TF-IDF?
1. 什么是TF-IDF tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技术.tf-idf是一种统计方法 ...
- web打印控件Lodop轻松输出清晰的图表和条码
一.仅用两行语句实现极其复杂的图表打印.类似如下两句: LODOP.ADD_PRINT_CHART(0,0,400,400,5,document.getElementByI d('table001') ...
- JVM 基础:回收哪些内存/对象 引用计数算法 可达性分析算法 finalize()方法 HotSpot实现分析
转自:https://blog.csdn.net/tjiyu/article/details/53982412 1-1.为什么需要了解垃圾回收 目前内存的动态分配与内存回收技术已经相当成熟,但为什么还 ...
- SkinTK编译使用
简介 MFC这个东西已经落伍了,不建议使用.我就是吃饱了撑着,还在折腾这个. 平时写点带界面的小程序一般都用Qt来做,简单好用,也很容易做的比较漂亮.我觉得唯一一个算不得多大缺点的缺点就是Qt体积太大 ...
- Emacs 设置C++代码风格
;; C++代码风格设置 (defconst cobbcpp '("linux" ; this is inheritance from the linux style (c-bas ...
- 修改PHP上传文件大小设置
问题: 上传MV到服务器发现有最大文件限制: 50M 怎么修改呢? 度娘了一把, 修改php.ini文件的upload_max_filesize = 100M 及 post_max_size = 10 ...
- 微信支付(APP支付)-服务端开发(一)
微信支付,首先需要注册一个商户平台公众账号,(网址:https://pay.weixin.qq.com/index.php/home/d_login) 目前微信支付的接入方式有四种方式:公众号支付,A ...