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,每个对象都有一个唯一的身份标识自己 ...
随机推荐
- 干货 | TensorFlow的55个经典案例
转自1024深度学习 导语:本文是TensorFlow实现流行机器学习算法的教程汇集,目标是让读者可以轻松通过清晰简明的案例深入了解 TensorFlow.这些案例适合那些想要实现一些 TensorF ...
- hdu1317 XYZZY Floyd + Bellman_Ford
这题,我在学搜索的时候做过.不过好像不叫这名字. 1.先用Floyd算法判断图的连通性.如果1与n是不连通的,输出hopeless. 2.用Bellman_Ford算法判断是否有正圈,如果某点有正圈, ...
- ORACLE 11g 导出数据
ORACLE 11g 导出 表的时候 不会导出空表 导出空表操作步骤 :(使用PLSQL) 1.打开SQL window 执行下面的 SQL Select 'alter table '||table_ ...
- 应用五:Vue之ElementUI 表格Table与分页Pagination组件化
(注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 在平时的web项目开发过程中,列表分页查询展示应用的很频繁,为了便于阅读并减少代码的冗余,所 ...
- Jquery- scrollTop()一个问题:
在使用jquery的scrollTop()方法获取滚动条的位置时,发现变量名为top会有影响,代码: <!doctype html> <html> <head> & ...
- 机器学习之TensorFlow编程环境_TensorFlow_Estimator
title: Machine-learning subtitle: 1. 机器学习之TensorFlow编程环境_TensorFlow_Estimator date: 2018-12-13 10:17 ...
- java中Map遍历的四种方式
在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历. 方法一:在for循环 ...
- echart全局属性,自用,搜索比较快
// 全图默认背景 // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32cd ...
- echarts地图的基本使用配置
一.空气质量图 代码和配置如下: <template> <div class="box"> <div id="map">&l ...
- struts配置
创建struts2的应用,首先应如前面所示要搭建好环境.jar包的导入和web.xml配置这里不在写出来. 如上所示,struts2中是采用<package>元素来管理Action的,包 ...