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,每个对象都有一个唯一的身份标识自己 ...
随机推荐
- axis2 1.7.1使用教程
写在前面 本文只说Axis2的用法. 1.下载与部署 需要下载两个文件: 下载地址:http://mirrors.cnnic.cn/apache/axis/axis2/java/core/1.7.1/ ...
- Django rest_framework API 随笔
分页 需要对数量进行限制 ./settings.py REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination ...
- Arduino UNO R3
Arduino 常见型号 当然还有 LilyPad,附图: 最常见的自然是UNO,最新版是第三版R3: 国内也有一些改进的板子.我用的是一般的板子,拿到货也只能默默了. 简介 The Uno is a ...
- element-ui Cascader 级联选择器示例
<html> <head>test</head> <style> @import url("http://unpkg.com/element- ...
- 国外60个专业3D模型网站
原始链接:http://blog.sina.com.cn/s/blog_4ba3c7950100jxkh.html Today, 3D models are used in a wide variet ...
- jquery选择器的一些处理
本文不讨论用jquery选择器具体怎么选择页面元素,而讨论选择元素后后的一些处理 jquery的选择器选择元素的时候,即使没有选择到指定的对象,页面并不会报错,例子: <!doctype htm ...
- Java中 ArrayList类常用方法和遍历
ArrayList类对于元素的操作,基本体现在——增.删.查.常用的方法有: public boolean add(E e) :将指定的元素添加到此集合的尾部. public E remove(in ...
- IdentityServer4-HybridAndClientCredentials
一.服务器 Client设置: new Client { ClientId = "mvc1", ClientName = "后台管理MVC客户端", Clien ...
- Connection refused (SQL: select * from information_s chema.tables where table_schema = apidemo and table_name = migrations)
LARAVEL 执行: $ php artisan migrate 报错 ,把 .env文件里的 DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306 换成 ...
- Nginx的反向代理的配置
1.linux下的方向代理(前提域名和P已经映射好了的) 在linux中的输入命令:whereis nginx 查看当前nginx的安装目录 显示 nginx: /usr/local/nginx 命令 ...