python对象 -- 组合
详解组合:
#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对象 -- 组合的更多相关文章
- Python对象组合
一个类的对象作为另一个类的对象的属性,称为类的组合. 即 class1.instance1.property = class2.instance 组合也是代码重用的重要方式之一. 先定义三个类:人.汽 ...
- python的组合数据类型及其内置方法说明
python中,数据结构是通过某种方式(例如对元素进行编号),组织在一起数据结构的集合. python常用的组合数据类型有:序列类型,集合类型和映射类型 在序列类型中,又可以分为列表和元组,字符串也属 ...
- 大话设计模式Python实现-组合模式
组合模式(Composite Pattern):将对象组合成成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性. 下面是一个组合模式的demo: #!/us ...
- Python的组合模式与责任链模式编程示例
Python的组合模式与责任链模式编程示例 这篇文章主要介绍了Python的组合模式与责任链模式编程示例,组合模式与责任链模式都属于Python的设计模式,需要的朋友可以参考下 组合模式 我们把Com ...
- 《转》python对象
http://www.cnblogs.com/BeginMan/p/3160044.html 一.学习目录 1.pyhton对象 2.python类型 3.类型操作符与内建函数 4.类型工厂函数 5. ...
- Python的组合数据类型
""" Python的组合类型: 序列类型:元素之间存在先后关系,可以通过索引来访问 列表: 元组: 字符串: 映射类型:用键值来表示数据 字典: 集合类型:元素是无序的 ...
- python征程3.0(python对象)
1.python使用对象模型来存储数据.构造任何类型的值都是一个对象.”尽管python被当成一种面向对象的脚本的编程语言“,但你完全能够写出不使用任何类和实例的脚本. python对象都拥有三个特性 ...
- python 对象
python 对象 在python中,对象就是为C中的结构体在堆上申请的一块内存,一般来说,对象是不能被静态初始化的,并且不能再栈空间上生存.本文主要对Python的基本数据类型做简单的介绍. PyO ...
- Python 对象的引用计数和拷贝
Python 对象的引用计数和拷贝 Python是一种面向对象的语言,包括变量.函数.类.模块等等一切皆对象. 在python中,每个对象有以下三个属性: 1.id,每个对象都有一个唯一的身份标识自己 ...
随机推荐
- mysqldump+mydumper+xtrabackup备份原理流程
mysqldump备份原理 备份的基本流程如下: 1.调用FTWRL(flush tables with read lock),全局禁止读写 2.开启快照读,获取此时的快照(仅对innodb表起作用) ...
- css3动画,点击圆形背景扩展整个页面效果
上次做项目的时候,要求点击链接,这个链接的圆形背景扩散充满整个页面,今天把这个效果整理一下,是简单的css3的动画特效,粘贴下面的代码看效果 <!DOCTYPE html> <htm ...
- win 运行
1.msconfig - 系统配置 - 服务-全部禁用 2.DXDIAG direct版本
- setTimeout()传带有参数的函数
w3cshool里的解释:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,语法:setTimeout(code,millisec). 也就是说,第一个参数可以是字符串形式的Ja ...
- vc++创建Win32 Application窗体过程
#include<windows.h>#include<stdio.h>LRESULT CALLBACK WinSunProc( HWND hwnd, UINT uMsg, W ...
- Nginx负载均衡health_check分析
在Nginx负载均衡中,我们很难保证说每一台应用服务器都能一直正常的运行下去.但是我们可以通过设置Nginx来检测这些应用服务器,检测这些服务器当中不能访问的. Nginx的检测方式分为两种,一种是被 ...
- Module.exports 和 exports
Module.exports 和 exports 在node中,没有全局作用域,只有模块作用域,外部访问不到内部,内部也访问不到外部,那么模块间如何通信 当加载一个模块的时候,被加载模块的代码在第一次 ...
- Python智能提示--提示对象内涵成员
1. demo展示 2. 提示效果
- 《黑白团团队》第八次团队作业:Alpha冲刺 第四天
项目 内容 作业课程地址 任课教师首页链接 作业要求 团队项目 填写团队名称 黑白团团队 填写具体目标 认真负责,完成项目 团队项目Github仓库地址链接. 第四天 日期:2019/6/18 成员 ...
- Activiti 各个节点涉及的表
################################# 部署流程定义涉及到的表 # 流程部署表SELECT * FROM `act_re_deployment` # 流程定义表SELECT ...