python基礎教程:_init_()方法淺析
阿新 • • 發佈:2021-01-13
在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_()
函式是給強制繫結的屬性,就是例項化類的時候,必須傳進去這些屬性。這些屬性也是這些類別區別其他類的特徵。
舉個例子,玩過王者榮耀的朋友們,如果英雄是類的話,程咬金,露娜,魯班,娜可露露這些英雄就是物件。
'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ群:778463939
尋找有志同道合的小夥伴,互幫互助,群裡還有不錯的視訊學習教程和PDF電子書!
'''
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()
你看我們只需要定義一個類,這樣我們就可以例項化無數個物件,很方便,提高程式碼的複用性