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文 ...
随机推荐
- C# 反编译问题收集
ILSpy_Master_2.4.0.1963_Binaries return null; return default(T); 1 public T Des<T>(byte[] ...
- WPF腾讯视频通话开发
一.IntPtr.HandleC#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄. 1.WPF窗口句柄IntPtr wnip = new System.Windows.I ...
- sublime text3中文文件名显示为框框,怎么解决
点击Preferences选项——settings { "font_size": 20, "ignored_packages": [ ...
- R语言手册
在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data analysis and visualization which is built bas ...
- HTML5手机页面里面如何把长按复制避免
在写HTML5手机页面的时候,有时候会写到一些标签是需要用户长按然后放开的 但是微信里面长按就会出现复制,大大影响了用户体验,那么如何可以避免呢? 我也是最近写到这样的页面,总结了一部分,大家可以作为 ...
- 大数高精度计算库gmp简介
1.编译安装,我用的ubuntu18.04 $sudo apt-get install m4 //默认没安装,gmp用这个 $tar -jvxf gmp-.tar.bz2 //解压 $cd gmp- ...
- IOS开发 文件路径
1.开发平台路径: /Developer/Platforms 此路径下一般有三个目录,分别是mac电脑.模拟器.iphone真机 MacOSX.platform iPhoneSimulator.pla ...
- 【Java】浅谈Java IO
注意 本文的代码,为了学习方便,简化代码复杂度,未考虑拆包.粘包等情况的处理.所以仅供学习使用,不能用于实际环境. 阻塞IO,BIO Java1.1发布的IO是BIO.阻塞地连接之后,通过流进行同步阻 ...
- PwniumCTF2014 - JJSN总结
Write-ups 本文最早发布在TSRC,详细地址:http://security.tencent.com/index.php/blog/msg/55 Forensics USB is FUN 这道 ...
- HBuilder搭配逍遥Android模拟器进行开发
1.逍遥模拟器安装 地址: 点我下载 2.连接注意事项 a. 复制adb等文件 HBuilder安装目录中tools文件夹下的三个文件adb.exe,AdbWinApi.dll,AdbWinUsbAp ...