day6-类的实例化过程剖析

概述

之前我们说关于python中的类,都一脸懵逼,都想说,类这么牛逼到底是什么,什么才是类?下面我们就来讲讲,什么是类?它具有哪些特性?

类的语法

1.语法

class dog(object):   #用class定义类
    "dog class"    #对类的说明
 
    def __init__(self,name):   #构造函数或者是构造方法,也可以叫初始化方法
        self.name = name
 
 
    def sayhi(self):    #类方法
        "sayhi funcation"    #对类方法的说明
 
        print("hello,i am a dog,my name is ",self.name)
 
 
d = dog("Dick")   #定义一个d的对象,叫实例
d.sayhi()    #调用实例的方法

2.self关键字

有很多小伙伴不禁要问,这个self是什么?为什么在执行sayhi函数时,上面的self.name可以在函数中被调用?如下图:

#输出

hello, i am a dog,my name is Jacky

其实self 这个关键字相当于实例化对象本身(self相当于d),在实例化过程中,把自己传进去了,我们队上面的两行做一下解释:

3 函数__init__()

  在类中__init__()函数叫构造函数,又叫构造方法,也可以叫初始化函数。它的作用就是初始化实例时,初始化传入实例的的默认值。如果不写__init__(),就会调用的默认为空的__init__(),说白了,这个方法不管你写不写,都会调用,而且,一旦实例化就会调用。

class dog(object):
    "dog class"
 
    def __init__(self,name):  #内置的构造方法,在实例化对象时自动调用
        self.NAME = name 
 
    def eat(self,food):
        print("the dog name is {0},it like food is {1}".format(self.NAME,food))
 
d = dog("Jacky")
d.eat("hotdog")
#输出
the dog name is Jacky,it like food is hotdog

 总结

 

由上图可知:其实self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去

posted @ 2017-07-31 23:32  Mr.hu  阅读(122)  评论(0)    收藏  举报