python 第3天
class Hotdog:
def __init__(self): #初始化对象
self.cooked_level = 0
self.cooked_string ="Raw"
self.condiments = [] #空数组
def __str__(self): #print(对象)
msg = "hot dog"
if len (self.condiments) > 0 :
msg = msg + " with"
for i in self.condiments:
msg = msg +" "+ i + ","
msg = msg.strip(",")
msg = self.cooked_string + " "+msg + "."+str(self.cooked_level)
return msg
def cook (self,time):
self.cooked_level = self.cooked_level + time
if self.cooked_level > 8:
self.cooked_string = "Charcoal"
elif self.cooked_level > 5:
self.cooked_string = "Well_down"
elif self.cooked_level >=3:
self.cooked_string = "Medium"
else:
self.cooked_string = "Raw"
def addCondiment(self,condiments):
self.condiments.append(condiments)
myDog = Hotdog()
print (myDog)
print ("Cooking hot dog for 4 minutes...")
myDog.cook(4)
print (myDog)
print ("Cooking hot dog for 3 minutes...")
myDog.cook(3)
print (myDog)
print ("Cooking hot dog for 10 minutes...")
myDog.cook(10)
myDog.cooked_level=3 # 这些对象的属性都可以更改,不用通过方法,python 没有提供隐藏数据的方法,不过可以自己搞定。
print (myDog)
print ("Now I'm going to add some stuff on my hot dog")
myDog.addCondiment("ketchup")
myDog.addCondiment("mustard")
print (myDog)
设置私有变量和私有方法可以用__开头
class Person:
def __init__(self):
self.__name = "jixiang"
self.age = 22
def __get_name(self):
return self.__name
def get_name(self):
return self.__name
def get_age(self):
return self.age
def change_name(self):
self.__name = "malong"
return self.__name
def change_name1(self):
self.__name = "jilong" #可以清楚的看到无论是私有属性还是私有方法在类内都可以使用。
newname=self.__get_name()
return newname
person = Person()
print (person.get_age())
#print (person.__get_name()) #无论是私有变量还是私有方法都无法访问。
#print (person.__name)
person.__name ="lilong" #这里虽然没有报错,但是你看下面,打印出来依然没有改变
print (person.get_name())
person.change_name()
print (person.get_name())
person.change_name1()
print (person.get_name())
下面进入多态 ,
封装继承多态是面向对象的重要内容。
多态
本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1965156,如需转载请自行联系原作者
python 第3天相关推荐
- Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...
- 【实验楼】python简明教程
①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...
- 【Kaggle Learn】Python 5-8
五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...
- 【Kaggle Learn】Python 1-4
[Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...
- 使用python愉快地做高数线代题目~
今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...
- python 位运算与等号_Python 运算符
和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...
- python减小内存占用_如何将Python内存占用缩小20倍?
当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...
- python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...
本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...
- python程序如何执行死刑图片_如何判断对象已死
已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...
- Python gRPC 安装
1. 安装依赖库 sudo pip3 install grpcio sudo pip3 install protobuf sudo pip3 install grpcio_tools 2. 生成对应文 ...
最新文章
- 2.创建适合游戏的窗口和消息循环
- url能访问但new file()找不到文件_Go Web编程给自己写的服务器添加错误和访问日志...
- maven常识(列表更新中)
- 超轻简洁个人引导页网站源码
- 自己编写的C语言实时时钟代码
- matlab计算abc三相短路电流_不用到处问别人了,关于变压器的相关计算公式,都在这里!收藏好...
- 导数定义考法一网打尽
- Java 小Q 世界上最遥远的距离 解法二
- 3W 字 Docker 容器技术大科普
- 官方正式发布 Java 16
- 【Neo4j】SOLVED:java.lang.RuntimeException: Error starting Neo4j database server
- MBR30200FCT低压降肖特基二极管ASEMI原装
- 白杨SEO:微信视频号直播功能怎么开通?视频号有什么价值?
- 两个均匀分布相加、两个正态分布相加、由均匀分布生成正态分布
- linux文件系统层级结构标准
- R中设置图形参数--函数par()…
- 如何让应用出现在浏览器的分享列表中
- 神经网络阈值是什么意思,神经网络的权值矩阵
- matplotlib绘制3D图形时使x轴、y轴、z轴的比例相等
- 装饰者模式一染色馒头