详解组合:
#Demo1
class Game_kind:
def __init__(self,nickname,sex,hp,ad):
self.nickname = nickname
self.sex = sex
self.hp = hp
self.ad = ad def hit(self,people1):
people1.hp -= self.ad
print('%s有%s滴血'% (self.nickname,self.hp))
print('%s有%s滴血' % (people1.nickname, people1.hp))
print('%s攻击了%s,%s还剩%s滴血量' %(self.nickname,self.ad,people1.nickname,people1.hp)) lvbu = Game_kind('吕布','男',200,100)
hanxin = Game_kind('韩信','男',200,50)
lvbu.hit(hanxin) #Demo2
class Game_kind:
def __init__(self,nickname,sex,hp,ad): # 构建初始人物的属性
self.nickname = nickname
self.sex = sex
self.hp = hp
self.ad = ad def hit(self,people1): # 人物1通过自身攻击力攻击了人物2
people1.hp -= self.ad
print('%s有%s滴血'% (self.nickname,self.hp))
print('%s的攻击力为%s' %(self.nickname,self.ad))
print('%s有%s滴血' % (people1.nickname, people1.hp))
print('%s的攻击力为%s' % (people1.nickname, people1.ad))
print('-'*50)
print('第一次攻击')
print('通过自身攻击力攻击的伤害')
print('%s攻击了%s,%s还剩%s滴血量' %(self.nickname,self.ad,people1.nickname,people1.hp)) def people_weapon(self,pweapon): # 人类通过在自己内部学会了使用武器的心法,从而可以直接使用武器
self.pweapon = pweapon class Weapon:
def __init__(self,weapon_name,weapon_ad): # 武器的攻击属性
self.weapon_name = weapon_name
self.weapon_ad = weapon_ad def weapon_hit(self,people1,people2): #人物1使用了武器攻击人物2
people2.hp -= self.weapon_ad
print('通过武器攻击造成的伤害')
print('%s使用%s打了%s%s血,%s还剩%s滴血' % (people1.nickname,self.weapon_name,people2.nickname,self.weapon_ad,people2.nickname,people2.hp)) lvbu = Game_kind('吕布','男',200,100)
hanxin = Game_kind('韩信','男',200,50)
fight = Weapon('狼牙棒',100)
print('-'*50)
lvbu.hit(hanxin) # 吕布通过自身攻击力攻击了韩信
print('-'*50)
print('第二次攻击')
lvbu.people_weapon(fight) # 吕布使用了武器
lvbu.pweapon.weapon_hit(lvbu,hanxin) # 吕布使用了狼牙棒打了韩信100滴血,韩信还剩100滴血

python对象 -- 组合的更多相关文章

  1. Python对象组合

    一个类的对象作为另一个类的对象的属性,称为类的组合. 即 class1.instance1.property = class2.instance 组合也是代码重用的重要方式之一. 先定义三个类:人.汽 ...

  2. python的组合数据类型及其内置方法说明

    python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...

  3. 大话设计模式Python实现-组合模式

    组合模式(Composite Pattern):将对象组合成成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性. 下面是一个组合模式的demo: #!/us ...

  4. Python的组合模式与责任链模式编程示例

    Python的组合模式与责任链模式编程示例 这篇文章主要介绍了Python的组合模式与责任链模式编程示例,组合模式与责任链模式都属于Python的设计模式,需要的朋友可以参考下 组合模式 我们把Com ...

  5. 《转》python对象

    http://www.cnblogs.com/BeginMan/p/3160044.html 一.学习目录 1.pyhton对象 2.python类型 3.类型操作符与内建函数 4.类型工厂函数 5. ...

  6. Python的组合数据类型

    """ Python的组合类型: 序列类型:元素之间存在先后关系,可以通过索引来访问 列表: 元组: 字符串: 映射类型:用键值来表示数据 字典: 集合类型:元素是无序的 ...

  7. python征程3.0(python对象)

    1.python使用对象模型来存储数据.构造任何类型的值都是一个对象.”尽管python被当成一种面向对象的脚本的编程语言“,但你完全能够写出不使用任何类和实例的脚本. python对象都拥有三个特性 ...

  8. python 对象

    python 对象 在python中,对象就是为C中的结构体在堆上申请的一块内存,一般来说,对象是不能被静态初始化的,并且不能再栈空间上生存.本文主要对Python的基本数据类型做简单的介绍. PyO ...

  9. Python 对象的引用计数和拷贝

    Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...

随机推荐

  1. JavaScript私有方法

    some concepts: Java is from Sun Microsystem Inc., and JavaScript, called LiveScript before, is from ...

  2. DataGridView属性设置汇总

    1.标题列居中 外观  ColumnHeadersDefaultCellStyle - Alignment - MiddleCenter 2.表格内容居中 外观  DefaultCellStyle - ...

  3. 计算机二级考试Access教程

    本教程对编程语言各种要点进行详细的讲解介绍,从基础知识到实用技术功能,内容涵盖了从数组,类等基本概念到多态.模板等高级概念.教程本着实用的原则,每一小节都结合了可以笔试.面试的常见程序实例,以便从第一 ...

  4. 给 iOS 开发者的 RxSwift(一)

    RxSwift 或许我们都听说过,但或许只知道 RxSwift 这个单词,长篇大论关于 RxSwift 的介绍往往使读者迷失在各种概念当中,却不知如何让它大展伸手.或许我们可以换一种姿势,一些应用场景 ...

  5. 优动漫PAINT个人版和EX版本差异

    优动漫PAINT是一款功能强大的动漫绘图软件,适用于个人和专业团队创作,分为个人版和EX版,那么这两个版本有什么区别,应该如何去选择呢? 优动漫PAINT个人版即可满足基本的绘画创作需求,EX版在个人 ...

  6. windows端口被占用解决办法

    1.查找端口 netstat -ano | findstr 端口号 2.进程列表并查找相应的进程 tasklist |findstr 进程号 3.杀死进程 taskkill /f /t /im 进程名 ...

  7. TensorFlow+实战Google深度学习框架学习笔记(12)------Mnist识别和卷积神经网络LeNet

    一.卷积神经网络的简述 卷积神经网络将一个图像变窄变长.原本[长和宽较大,高较小]变成[长和宽较小,高增加] 卷积过程需要用到卷积核[二维的滑动窗口][过滤器],每个卷积核由n*m(长*宽)个小格组成 ...

  8. HDU2188 - 悼念512汶川大地震遇难同胞——选拔志愿者【巴什博弈】

    对于四川同胞遭受的灾难,全国人民纷纷伸出援助之手,几乎每个省市都派出了大量的救援人员,这其中包括抢险救灾的武警部队,治疗和防疫的医护人员,以及进行心理疏导的心理学专家.根据要求,我校也有一个奔赴灾区救 ...

  9. cliendataset中自增长字段的处理

    cliendataset中自增长字段的处理: id:自增长字段. 在client中的处理方法:clientdataset.Fields.FieldByName('id').ReadOnly:=Fals ...

  10. String String s = new String("asd") 涉及对象数目

    问题·:.String str = new String("abc")创建了多少个对象? 这个问题在很多书籍上都有说到比如<Java程序员面试宝典>,包括很多国内大公司 ...