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文 ...
随机推荐
- Next Permutation leetcode java
题目: Implement next permutation, which rearranges numbers into the lexicographically next greater per ...
- SSE图像算法优化系列一:一段BGR2Y的SIMD代码解析。
一个同事在github上淘到一个基于SIMD的RGB转Y(彩色转灰度或者转明度)的代码,我抽了点时间看了下,顺便学习了一些SIMD指令,这里把学习过程中的一些理解和认识共享给大家. github上相关 ...
- Spark机器学习(8):LDA主题模型算法
1. LDA基础知识 LDA(Latent Dirichlet Allocation)是一种主题模型.LDA一个三层贝叶斯概率模型,包含词.主题和文档三层结构. LDA是一个生成模型,可以用来生成一篇 ...
- 解决Ubuntu Chrome浏览器很卡不响应的问题
1. 设定字体,使用Ubuntu Tweak Tool把系统字体设定为默认字体,而不是文泉驿字体: 2. 使用ADBLock Plus把垃圾的广告过滤掉,不然网页上很多Flash就会导致网页非常的卡顿 ...
- SqlDateTime overflow / SqlDateTime 溢出
Error - SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM SqlDat ...
- 关于redis性能问题分析和优化
一.如何查看Redis性能 info命令输出的数据可以分为10个分类,分别是: server,clients,memory,persistence,stats,replication,cpu,comm ...
- 阿里云centos7.x 打开80端口(转)
本文转自:https://blog.csdn.net/tengqingyong/article/details/82805053 一 :阿里云centos7.x用iptables打开80端口 1.安装 ...
- Mac Apache Tomcat WebServer 服务器配置
1.配置准备工作 1)配置服务器准备工作 在 Finder 中创建一个 "workspace" 的文件夹,可直接创建在 /Users/QianChia(当前用户名)目录下. 下载相 ...
- 基于Docker的redis集群搭建
Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html 基于Docker搭建Redis集群 环境:6个节点,三主三从 制作Redis镜 ...
- CentOs 6.x 升级 Python 版本【转】
在CentOS 6.X 上面安装 Python 2.7.X CentOS 6.X 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本.所以需要进行版本升级.由于一些系统工具和服 ...