# -*-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的更多相关文章

随机推荐

  1. Spring in Action学习笔记(2)

    Spring基础 AOP 面向切面编程 通知.连接点.切点.切面 Spring提供 4 种类型的AOP支持: 基于代理的经典SpringAOP:使用ProxyFactoryBean. 纯POJO切面: ...

  2. QT-可拖拽可编辑的多控件ListView

    目标 结合前面的2篇文章, 继续升级QML版本的ListView: 又要拖拽, 又要可编辑, 还得支持多个控件. 循序渐进 本文基于前一篇的基础: Qt-可编辑的ListView 要循序渐进的学习. ...

  3. 解决移动端在IOS中input输入框光标过长

    在输入框样式中加入: line-height:20px;

  4. MSTP

    目录 一.生成树存在的问题 二.MSTP 三.MSTP的网络层次 四.MSTP的端口状态 五.MSTP的保护功能 一.生成树存在的问题 STP和RSTP的问题 PVST的问题 二.MSTP 多生成树 ...

  5. PWN——uaf漏洞学习

    PWN--uaf漏洞 1.uaf漏洞原理 在C语言中,我们通过malloc族函数进行堆块的分配,用free()函数进行堆块的释放.在释放堆块的过程中,如果没有将释放的堆块置空,这时候,就有可能出现us ...

  6. .NET Core/.NET5/.NET6 开源项目汇总13:模板引擎

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  7. MySQL Replication Thread States

    1.主节点线程状态(Replication Master Thread States): Finished reading one binlog; switching to next binlog 线 ...

  8. 基于Gitea搭建属于自己的Git服务

    作者:IT王小二 博客:https://itwxe.com 一.搭建环境和前提 搭建环境: 操作系统:CentOS7.6 Docker版本:docker-ce-18.09.9 Lsky Pro版本:1 ...

  9. 特殊回文数 BASIC-9

    特殊回文数 代码 import java.util.Scanner; /*123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数, 满足 ...

  10. nohup 启动命令

    start.sh #!/bin/bash nohup $PWD/node_exporter > /dev/null 2>&1 &