zoukankan      html  css  js  c++  java
  • 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()

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

  • 相关阅读:
    mysql代码实现hive中的rank()排序方法,获得top3中的最小值
    MySQL--Hive中字段数据类型对比
    使用shell脚本连接mysql shell脚本执行mysql语句
    WPS中查看超链接后返回超链接位置
    shell脚本中常用的命令
    Lamda一行代码实现"36选7"随机自动选号
    创建Visual studio项目模板 vstemplate关键点纪要
    网络传输及数据解析
    动画
    触摸事件与手势识别
  • 原文地址:https://www.cnblogs.com/chaojiyingxiong/p/10273818.html
Copyright © 2011-2022 走看看