Python学习之类的继承
class Role: 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 __del__(self): pass #print("%s 彻底死了"%self.name) def show_status(self): print("name : %s weapon:%s life_value:%s"%(self.name,self.weapon,self.__life_value)) 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)) #类开辟一块新的内存空间指向r1这个变量名,存下面的东西,name= alex,等 # 调用Role(‘Alex‘, ‘police‘,‘AK47‘)的时候把r1当作参数也传进去,是为了把‘Alex‘,‘police‘,’AK47’这3个值跟刚开辟的r1关联起来, # 相当于Role(r1,‘Alex‘, ‘police‘,‘AK47‘),self就是r1, # 关联起来后,你就可以直接r1.name, r1.weapon 这样来调用啦 #为实现这种关联,在调用__init__方法时,就必须把r1这个变量也传进去,即传进去谁,self就是谁,否则__init__不知道要把那3个参数跟谁关联 #所以这个__init__(…)方法里的,self.name = name , self.role = role 等等的意思就是要把这几个值 存到r1的内存空间里, # 即 r1 = Role(r1,‘Alex‘, ‘police‘,‘AK47‘) # r1.name="alex" # r1.role="Police" # r1.buy_gun("AK47") # Role.buy_gun(r1) # #把一个类变成一个具体对象的过程叫实例化(初始化一个类,造了一个对象) # #生成一个角色 # r2 = Role(‘Jack‘, ‘terrorist‘,‘B22‘) # #生成一个角色 # r1.buy_gun("AK47") # Role.buy_gun(r1) # print(Role.n) r1 = Role(‘Alex‘, ‘police‘,‘AK47‘) r1.buy_gun("AK47") r1.got_shot() # print(r1.__life_value) r1.show_status() # del r1 r2 = Role(‘Jack‘, ‘terrorist‘,‘B22‘) r2.buy_gun("AK47") r2.got_shot()
相关推荐
weiiron 2020-08-17
生物信息学 2020-06-22
荒乱的没日没夜 2020-06-14
adamlovejw 2020-06-11
bcbeer 2020-05-02
FlySky 2020-11-02
逍遥友 2020-10-26
taiyangshenniao 2020-10-05
flycony 2020-09-23
jacktangj 2020-09-18
YENCSDN 2020-09-15
lsjweiyi 2020-09-14
digwtx 2020-09-14
拾毅者 2020-09-14
zlxcsdn 2020-09-13
amazingbo 2020-08-16
郗瑞强 2020-08-16
lispython 2020-08-16