python 【面向对象实例2】
上代码,代码中有解释
class Gun : #定义枪类def __init__(self, model): #枪的属性有名字、初始子弹数量self.model = modelself.bullet_count = 0def add_bullet(self, count): #方法:添加子弹self.bullet_count += countdef shoot(self, number): #方法:射击if self.bullet_count <= 15 : #判断子弹都不够(假设15发以内就不够)print('%s子弹不够了' %(self.model))return #如果不够就直接返回不再执行self.bullet_count -= number #如果够就射击(每次射击的子弹数目由外部给入)class Soldier : #定义士兵类def __init__(self, name): #士兵的属性有名字、是否有枪self.name = nameself.gun = None #刚开始定义士兵没枪def fire(self): #方法:开火if self.gun is None : #先判断士兵是否有枪(用is判断非数值的属性)print('%s 没有枪!' %(self.name))returnself.gun.add_bullet(60) #添加子弹,调用枪的添加子弹方法print('%s使用%s射击!!' % (self.name, self.gun.model)) #给出命令self.gun.shoot(15) #射击,调用枪类的射击方法print('还剩%.f发子弹' % (self.gun.bullet_count)) #告诉我们还剩多少发子弹UZI = Gun('UZI') #先来把枪
soldier = Soldier('hero') #再来个兵
soldier.gun = UZI #把枪给兵,如果没给就运行,程序会提示没有枪
soldier.fire() #调用开火方法
执行结果为
hero使用UZI射击!!
还剩45发子弹
python 【面向对象实例2】相关推荐
- python面向对象实例王者荣耀_大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者...
王者荣耀 -很火的手游-简直老少通吃-令人发指-虽然操作简单-但为什么你还是会被虐, 其实 是有技巧的--本文Python大神带你研究王者荣耀各类英雄的出装小技巧,让你成为大神般的存在 前期准备 环境 ...
- python面向对象实例王者荣耀_Python设计王者荣耀人物结构(63)*
今天我们作为游戏程序员,设计王者荣耀人物结构.王者荣耀,玩家可以选择很多英雄,每种英雄有很多属性,请用我们学过的list和字典,将这些内容表达出来,并用循环遍历你创造的英雄,并打印出他们的属性出来. ...
- python面向对象实例王者荣耀_PYTHON-面向对象-练习-王者荣耀 对砍游戏
# 王者荣耀 对砍游戏 # 两个英雄可以对砍 如果血量小于等于0 就GG # 所需的对象 # 英雄对象 """ 亚瑟 属性 类型 血量 名称 技能 Q 跳起来给你一刀 伤 ...
- Python|面向对象实例:银行卡类
# 编写一个银行卡类 # 属性:银行名称 卡号.密码.姓名.余额 #方法:登录,存款class Card():def __init__(self,cnum,cpwd,cname,cbalance):s ...
- python面向对象实例王者荣耀_Python3 类与对象之王者荣耀对战小游戏
王者荣耀对战小游戏 # 定义英雄: 亚瑟 class Arthur: hero_type = 'Tank' def __init__(self, attack_value=164, armor=98, ...
- python面向对象生动讲解_Python面向对象语法精讲
本专题的内容结构: 第一部分主要是:面向对象基础 第二部分主要是:面向对象进阶 第一部分的结构: unit1:面向对象编程模式: (1),面向对象编程思想 (2),面向对象的三个特征 (3),Pyth ...
- Python面向对象-概念、类、实例
Python面向对象-概念.类.实例 OOP--Object Oriented Programming,面向对象编程,是一种程序设计思想.该思想将对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...
- python的实例属性和静态属性_Python面向对象之静态属性、类方法与静态方法分析...
本文实例讲述了Python面向对象之静态属性.类方法与静态方法.分享给大家供大家参考,具体如下: 1. 静态属性:在函数前加@property,将函数逻辑"封装"成数据属性,外部直 ...
- python封装功能讲解_python学习28——面向对象实例讲解与封装
面向对象实例讲解 classSchool: school_name= 'OLDBOY' def __init__(self, nickname, addr): self.nickname=nickna ...
- [转载] python面向对象编程实例
参考链接: Python面向对象编程 案例介绍 本案例设计的是:为购置的新房添置家具,在本案例中,我们需要给出指定的房屋和面积,在为其添置家具的过程中,各家具的面积之和不能超过房屋面积的总和.房屋及家 ...
最新文章
- 超强、超详细Redis入门教程【转】
- linux 内核线程与普通进程的区别
- 如何使用 abp 创建 module 并应用单独的数据库迁移
- IO模型(epoll)--详解-03
- SDOI2017R1(姑且是游记)
- Java编写编译native方法
- ajax主要有哪些方法,ajax的使用方法和原理,ajax包括哪些技术呢
- 广东技能大赛软件测试项目,我校喜获2019年全国职业院校技能大赛软件测试赛项二等奖...
- 【2019南京icpc网络赛 I】Washing clothes【李超树】
- android 8.0 无法接受到静态广播
- 百度网盘限速解决方案
- 足球类游戏球场风云前端项目代码
- openwrt折腾记3-开通ipv6(二级路由)
- 安卓相机camera2开发知识点
- 基于GoogLeNet实现鸟类识别任务
- Node中的_dirname和_filename
- redis实现简单的动态密码
- win10设置软件开机启动
- 简单使用GreenDao框架
- 大小写转化php,怎样用PHP做出人名币大小写的方法转换
热门文章
- 在.NET5 中读取Excel文件,评估下参加神秘献祭会的几位子民
- 阿里云电脑无影云桌面收费标准(CPU内存/云盘/互联网访问带宽)
- 阿里云服务器访问windows下网页(内网穿透)
- LOAM系列——LeGO-LOAM配置、安装、问题解决及VLP16测试效果(完结版)
- CCIE理论-第十二篇-IPV6-NDP协议
- 成都盛铭轩:商品标题怎么写
- MT6737/MT6737T/MT6737M处理器功能介绍,MT6737芯片资料下载
- 微信文件传输助手文件存储位置问题
- aix的ps命令详解
- 用 Python 编程,假设一年期定期利率为 3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?