# -*-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. C++第四十篇 -- 研究一下Windows驱动开发(三)-- NT式驱动的基本结构

    对于NT式驱动来说,主要的函数是DriverEntry例程.卸载例程及各个IRP的派遣例程. 一.驱动加载过程与驱动入口函数(DriverEntry) 和编写普通应用程序一样,驱动程序有个入口函数,也 ...

  2. linux 之awk--格式化文本信息

    https://www.cnblogs.com/xudong-bupt/p/3721210.html awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常 ...

  3. Python将字符串转化为对应类名的两种方法

    way first: 1 from django.utils.module_loading import import_string 2 ValidationError = import_string ...

  4. Error: Could not find or load main class ***

    jni 本地方法的总结 1,第一步,javah D:\wksp_study\designbook\target\classes> //clas文件所在目录执行 javah -cp D:\wksp ...

  5. K8S系列第九篇(持久化存储,emptyDir、hostPath、PV/PVC)

    更多k8s内容,请关注威信公众好:新猿技术生态圈 一.数据持久化 Pod是由容器组成的,而容器宕机或停止之后,数据就随之丢了,那么这也就意味着我们在做Kubernetes集群的时候就不得不考虑存储的问 ...

  6. 常见的Web攻击手段,拿捏了!

    大家好,我是小菜. 一个希望能够成为 吹着牛X谈架构 的男人!如果你也想成为我想成为的人,不然点个关注做个伴,让小菜不再孤单! 本文主要介绍 互联网中常见的 Web 攻击手段 如有需要,可以参考 如有 ...

  7. system V信号量和Posix信号量

    一.函数上的区别 信号量有两种实现:传统的System V信号量和新的POSIX信号量.它们所提供的函数很容易被区分:对于所有System V信号量函数,在它们的名字里面没有下划线.例如,应该是sem ...

  8. 多台虚机redis cluster集群

    用到的安装包 https://pan.baidu.com/s/1wwLm3C7oWcM9ptwMjRltGA 提取码:vdfp 系统环境:centos7 ----------------------- ...

  9. 设计模式:单例模式的使用和实现(JAVA)

    单例模式的使用 jdk和Spring都有实现单例模式,这里举的例子是JDK中Runtime这个类 Runtime的使用 通过Runtime类可以获取JVM堆内存的信息,还可以调用它的方法进行GC. p ...

  10. win7环境下配置JDK&&安装Weblogic12.2.1.4.0

    win7环境下安装Weblogic12.2.1.4.0 写在前面 最近因为想复现一下weblogic的CVE-2020-2555和CVE-2020-2883漏洞,需要weblogic环境,但是vulh ...