# -*-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. 裸奔mysql

    centos 7 下裸奔mysql # vim /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables例如:[mysqld]datadir=/var/lib/mys ...

  2. 漫谈CUDA优化

    ​ 作者:Lawliet 翻译:仿佛若有光 前言: 几个月前,我根据 Simoncelli 2016 年的论文编写了自己的自动编码器,用于研究目的.一开始,我想使用一些流行的深度学习框架(例如 Ten ...

  3. 大数据学习(11)—— Hive元数据服务模式搭建

    这一篇介绍Hive的安装及操作.版本是Hive3.1.2. 调整部署节点 在Hadoop篇里,我用了5台虚拟机来搭建集群,但是我的电脑只有8G内存,虚拟机启动之后卡到没法操作,把自己坑惨了. Hive ...

  4. 自学linux——16.LAMP项目上线流程

    LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ①    下载nginx 网页下载https://nginx.org/en/downlo ...

  5. 题解 P6688 可重集

    己所欲者,杀而夺之,亦同天赐 解题思路 一定不要用自动溢出的 Hash!!!!!!! 我真的是调吐了... 思路非常简单明了 : 需要我们创新一下 Hash. 首先我们的 Hash 要满足无序性.. ...

  6. Kerberos委派攻击

    域委派 就是指将域内用户的权限委派给服务账号,使得服务账号能以用户的权限在域内展开活动. 在域中一般只有主机账号和服务账号才具有委派属性 主机账号:主机账号就是AD(活动目录)中Computers中的 ...

  7. 微信小程序测试点

    一.测试范围 1.权限测试 需要检查以下几种情况下微信用户访问的权限 1)未授权微信登录小程序 未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能.or在提交数据到后台的时候,会 ...

  8. CSS Flex布局完全指南 #flight.Archives002

    Title/CSS Flex布局完全指南 #flight.Archives002 序(from Ruanyf) : 网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模 ...

  9. Android系统编程入门系列之服务Service齐头并进多线程任务

    在上篇文章中初步了解了Android系统的四大组件之一的服务Service,在服务内可以执行无用户交互的耗时操作任务,但是包括之前关于界面系列文章在内,生命周期方法都是在主线程内被系统回调的.如果直接 ...

  10. 雪花算法ID在前端丢失精度解决方案

    首先说一下背景,目前笔者的工作是物联网方面的,设备有对应的智慧运营平台,平台开发中建表的主键用的是Mybatis plus默认的雪花算法来生成的,也就是分布式系统比较常用的雪花ID,技术栈就是常用的S ...