python之_init_()方法浅析

Posted 年轻人——001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

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

以上是关于python之_init_()方法浅析的主要内容,如果未能解决你的问题,请参考以下文章

python之__init__使用方法

Python之__init__函数及__init__.py

面对对象之继承 | Python

python之面向对象

Python 之 __new__() 方法与实例化(转)

python之__init__