基于python的类和对象
2018-01-29 21:23
197 查看
# 类和对象 # 什么是类? # 类的概念:具有相同的属性和行为特点的事物的抽象的集合 # 人类属性:身高,体重,年龄,性别 # 人类的行为:吃喝拉撒睡 # 什么是对象? # 对象概念:类的具体的实例化 # 人类中的对象:马云,马化腾,李彦宏 # object python中的顶级父类 class ADC(object): # pass 为了保证预防完整性的 # pass # 初始化函数 # __init__()初始化函数 ,当创建对象时,会自动执行该函数 def __init__(self,name,HP,MP,SP,SPEED): # 初始化一些对象属性 # 对象.属性名 = 属性值 self.name = name self.HP = HP self.MP = MP self.SP = SP self.SPEED = SPEED # 声明一个对象函数 # 对象函数,只能由对象去调用, def move(self): # 当对象A调用move时,self就是对象A,对象B调用move时,self就是对象B # self就是执行该函数的对象 print(self) # 带参数的对象函数 def fire(self,obj): # 损失气血 = 鲁班的攻击 - 后羿的防御 down_hp = self.GJ - obj.FY # 后羿损失气血 obj.HP = obj.HP - down_hp # 如果后羿的HP小于等于0,后羿死亡 if obj.HP <= 0: print('%s 击杀了 %s'%self.name,obj.name) else: print('%s 攻击了 %s,%s损失了%s气血'%(self.name,obj.name,obj.name,down_hp)) # 创建一个ADC对象 # 对象名 = 类名() houyi = ADC('后羿',500,200,1,325) # 对象名.函数名() 调用 houyi.move() # 执行带参数的对象函数 # houyi.fire('鲁班') HP = houyi.HP print(HP) MP = houyi.MP print(MP) # 如果对象没有这个属性,添加新属性,只有这个对象才有这个属性,其他对象没有 # 对象名.属性名 = 属性值 houyi.FY = 200 print(houyi.FY) # 如果对象原来有这个属性,修改对象属性值 houyi.HP = 460 print(houyi.HP) # 删除对象的属性 # del 对象名.属性名 # del houyi.FY # print(houyi.FY) luban = ADC('鲁班',500,210,1,330) # 鲁班的攻击力 luban.GJ = 400 # 鲁班攻击后羿,计算后羿掉多少血 luban.fire(houyi)
相关文章推荐
- 基于python的-对象实例函数
- 基于python的-对象的私有属性
- Spark RDD编程(Python和Scala版本)----Spark中的RDD就是一个不可变的分布式对象集合,是一种具有兼容性的基于内存的集群计算抽象方法,Spark则是这个方法的抽象。 Spa
- 【Python】基于darkflow的YOLO实时对象检测
- 对于python,一切事物都是对象,对象基于类创建
- 基于python list对象中嵌套元组使用sort时的排序方法
- 基于python的-类和对象详解1
- 基于python的-类和对象详解2
- 基于python的-类和对象
- 基于python的-将对象放进列表中
- 基于Python对象引用、可变性和垃圾回收详解
- 基于腾讯COS对象存储SDK使用Python编写的文件上传工具第二版
- python基础三——对象
- 面向对象和基于对象的区别
- 记录了Android系统上基于ashmem或Fd的一些对象由于进程内文件描述符耗尽不能被创建的Issues。
- 编写基于对象的程序,求5个长方柱的体积和表面积
- Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
- Python 对象 --组合,绑定
- 简易js框架,基于js对象类操作.
- Python -- 获取对象信息[type(),isinstance(), dir()]