python之_init_()方法淺析


在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()

 你看我們只需要定義一個類,這樣我們就可以實例化無數個對象,很方便,提高代碼的復用性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM