Python——类操作2

class Role:
#构造函数 ,初始化
    def __init__(self,name,role,weapon,life_value=100,money=15000): #传参数
        #实例变量(又称属性,或静态属性),内容赋给了实例,作用域就是实例本身
        self.name = name#等价于r1.name=name
        self.role=role
        self.weapon=weapon
        self.__life_value=life_value #私有属性
        self.money=money
#析构函数
    def __del__(self):
        print ("%s 彻底死了。。。" % self.name)

# 类的方法(功能) 又称动态属性
    def shot(self):
        print ("shooting...")
    def got_shot(self):
        self.__life_value-=50
        print ("ah...,%s got shot...." % self.name)
    def buy_gun(self,gun_name):
        print("%s just bought %s" % (self.name,gun_name))
    def show_status(self):
        print ("name: %s weapon: %s life_value: %s" % (self.name,self.weapon,self.__life_value))

#把一个类变成一个具体对象的过程叫实例化(初始化一个类,造了一个对象)
r1=Role('Alex','police','AK47') #等价于Role(r1,'Alex','police','AK47')
r1.name='abc123' #改变属性,能够改变
r1.bullet_prove=True #添加了一个新属性
print(r1.bullet_prove) #能够输出
r2=Role('Jack','terrorist','B22')
r1.buy_gun("AK47")
r1.got_shot() #Role.got_shot(r1)
r2.got_shot()
print(r1.show_status())
r1.got_shot()
print(r1.show_status())
'''
#构造(函数)方法__init__()传参数
构造函数__init__()
作用:在实例化时做一些类的初始化工作

"""
r1=Role.__init__()    return一个内存地址
r1=Role(r1,"Alex","Police","15000")
r1.name="Alex"
r1.role="Police"
r1.money=15000
"""
#变量self理解
'''
'''
类变量和实例化变量的区别:
先检测是不是实例变量,然后在找类变量
'''
"""

#析构函数 __del__()
作用:实例释放,用于收尾工作,关闭一些数据库打开的临时文件
#私有属性“ __变量名”   私有方法一样

"""
原文地址:https://www.cnblogs.com/zhaoxiaoxue/p/11190097.html