cs_play
# -*-coding:utf-8-*-
__author__ = "logan.xu"
###构造函数
#class Role:
# n = 123
# # 类变量 比如 n = 123
# name = "我是类name"
#
# # 实例变量
# def __init__(self, name, role, weapon, life_value=100, money=15000):
# # 构造函数
# # 作用是在实例化时,做一些类的初始化的工作
# self.name = name # 实例变量(静态属性),作用域就是实例本身
# self.role = role
# self.weapon = weapon
# self.life_value = life_value
# self.money = money
#
# def shot(self): # 类的方法,功能(动态属性)
# print("shooting...")
#
# def got_shot(self):
# print("ah....,I got shot...")
#
# def buy_gun(self, gun_name):
# print("%s just bought %s" % (self.name, gun_name))
#
#
#print(Role.n)
#
#r1 = Role('Alex', 'police', 'AK47')
## 把一个类变成一个具体对象的过程叫实例化(初始化一个类))
## r1.got_shot()
## r1.buy_gun("B51")
#r1.name = "陈冠希" # 修改r1的名字
#r1.bullet_prove = True # 给角色添加装备防弹衣
## print(r1.n,r1.name,r1.bullet_prove)
#r1.n = "改类变量"
## del r1.weapon
#print("r1:", r1.weapon, r1.n)
#
## Role.n = "小龙女"
#
#r2 = Role('Jack', 'terrorist', 'B22')
## 生成一个角色称为role类的实例
#r2.name = "古天乐" ##修改r2的名字
## print(r2.n,r2.name)
#print("r2:", r2.name, r2.n)
## r1.buy_gun("AK47")
#
#Role.n = "小龙女"
#print(r1.n, r2.n)
# 返回结果为
# ah....,I got shot...
# Alex just bought B51
# Alex just bought AK47
#
###析构函数
class Role:
n = 123
# 类变量 比如 n = 123
name = "我是类name"
# 实例变量
def __init__(self, name, role, weapon, life_value=100, money=15000): # 构造函数
##作用是在实例化时,做一些类的初始化的工作
#self.name = name # 实例变量(静态属性)
self.name = name # 实例变量(静态属性),作用域就是实例本身
self.role = role
self.weapon = weapon
self.__life_value = life_value #内部访问life_value 私有属性
self.money = money
def __del__(self):
pass #print("%s彻底死了。。。。啊!!" %self.name)
def show_status(self):
print("name:%s weapon:%s life_val:%s" %(self.name,self.weapon,self.__life_value))
def shot(self): # 类的方法,功能(动态属性)
print("shooting...")
def got_shot(self):
self.__life_value -= 50
print("%s:ah....,I got shot..."%self.name)
def buy_gun(self, gun_name):
print("%s just bought %s" % (self.name, gun_name))
r1 = Role('Alex', 'police', 'AK47')
# 把一个类变成一个具体对象的过程叫实例化(初始化一个类))
# r1.got_shot()
# r1.buy_gun("B51")
r1.buy_gun("AK47")
r1.got_shot()
print(r1.show_status())
r2 = Role('jack','terrorist','B22')
r2.got_shot()
>>>>>>>>>>>>>>>>>>>>>>>>>.
Alex just bought AK47
Alex:ah....,I got shot...
name:Alex weapon:AK47 life_val:50
None
jack:ah....,I got shot...
cs_play的更多相关文章
随机推荐
- POJ1456 Supermarket 题解
思维题. 关键在于如何想到用堆来维护贪心的策略. 首先肯定是卖出的利润越大的越好,但有可能当前这天选定了利润最大的很久才过期而利润第二大的第二天就过期,这时的策略就不优了. 所以我们必须动态改变策略, ...
- javascript中“==”,“===”和“Object.is(a,b)”的区别
作为两个量比较的三种方式"==","==="和"Object.is(a,b)"有一定区别,如下(具体见MDN): (1)Object.is( ...
- 鸿蒙轻内核定时器Swtmr:不受硬件和数量限制,满足用户需求
摘要:本文通过分析鸿蒙轻内核定时器模块的源码,掌握定时器使用上的差异. 本文分享自华为云社区<鸿蒙轻内核M核源码分析系列十四 软件定时器Swtmr>,作者:zhushy . 软件定时器(S ...
- java垃圾回收机制学习总结
最近学习了一下java垃圾回收机制,将其主要内容大致总结一下: 1.什么是垃圾回收机制 java GC机制(garbage collection,垃圾收集,垃圾回收),是java特有的机制,作为jav ...
- 基于MD5+RSA算法实现接口调用防扯皮级鉴权
概述 最近项目中需要对第三方开发接口调用,考虑了一下,准备采用MD5+RSA算对请求数据进行签名,来达到请求鉴权,过滤非法请求的目标. 数字签名采用MD5+RSA算法实现.RSA私钥要严格保密并提供安 ...
- [解决方案]docker: Error response from daemon: OCI runtime create failed
错误原因 在新服务器上安装好docker后,发现无法运行,经常一顿搜索后,发现是docker安装的版本过高,最新版本docker-18.06 的核心好像没有经过充分的测试就发布了. 导致一运行,就提示 ...
- API接口测试
一.测试工具 二.测试方法 二.测试需要注意的点
- React Class组件生命周期
一.react组件的两种定义方式 1.函数组件,简单的函数组件像下面这样,接收Props,渲染DOM,而不关注其他逻辑 function Welcome(props) { return <h1& ...
- Redis实战-详细配置-优雅的使用Redis注解/RedisTemplate
1. 简介 当我们对redis的基本知识有一定的了解后,我们再通过实战的角度学习一下在SpringBoot环境下,如何优雅的使用redis. 我们通过使用SpringBoot内置的Redis注解(文章 ...
- JavaScript学习06(操作BOM和表单)
操作BOM window 所有浏览器都支持 window 对象.它代表浏览器的窗口. 所有全局 JavaScript 对象,函数和变量自动成为 window 对象的成员. 全局变量是 window 对 ...