Python学习之类的继承
Posted w_boy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()
以上是关于Python学习之类的继承的主要内容,如果未能解决你的问题,请参考以下文章