在python的类中,我们会经常看到一个类中的一个方法_init_(self) ,比如下面的一个例子:
class Student(object): def __init__(self,name,weight,score): self.name = name self.weight = weight self.score = score jack = Student('忙德',200,59) print(jack.name) print(jack.score) print(jack.weight)
很多人心中经常疑问,为什么会有_init_()函数?
_init_()函数是给强制绑定的属性,就是实例化类的时候,必须传进去这些属性。这些属性也是这些类别区别其他类的特征。
举个例子,玩过王者荣耀的朋友们,如果英雄是类的话,程咬金,露娜,鲁班,娜可露露这些英雄就是对象。
class Hero(object): def __init__(self,mingzi,paiwei,dazhao): self.name = mingzi self.weight = paiwei self.skill = dazhao #跑 def run(self): print('{}快跑,并且释放你的大招{}'.format(self.name,self.skill)) #攻击 def attack(self): print('{}使用{}向你攻击'.format(self.name,self.skill)) #回城 def home(self): print('{}血量不足,要回城了'.format(self.name)) #排位 def rank(self): print('{}目前的排位是{}'.format(self.name,self.weight)) def work(self): print(self.run(),self.attack(),self.home(),self.rank()) chengyaojin = Hero('程咬金','荣耀黄金iv','战斧之刃') sunwukong = Hero('孙悟空','钻石iv','天崩地裂') #程咬金整套动作 chengyaojin.work() #孙悟空整套动作 sunwukong.work() #程咬金回家 chengyaojin.home()
你看我们只需要定义一个类,这样我们就可以实例化无数个对象,很方便,提高代码的复用性