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()函数是给强制绑定的属性,就是实例化类的时候,必须传进去这些属性。这些属性也是这些类别区别其他类的特征。

举个例子,玩过王者荣耀的朋友们,如果英雄是类的话,程咬金,露娜,鲁班,娜可露露这些英雄就是对象。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和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()

你看我们只需要定义一个类,这样我们就可以实例化无数个对象,很方便,提高代码的复用性

发布了706 篇原创文章 · 获赞 728 · 访问量 100万+

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/103833340