在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()
你看我們只需要定義一個類,這樣我們就可以實例化無數個對象,很方便,提高代碼的復用性