6.1(1) 类和对象

如下是李刚老师《疯狂python讲义》的学习笔记

如有侵权,联系删除

 

定义类:

        

        类变量属于类本身,用于定义该类本身所包含的状态数据;实例变量属于通过这个类所形成的对象的状态数据。(这里感觉就是类有一个类空间,实例方法有一个实例空间)

       方法用于定义该类的对象的行为或着说功能实现。 

 

       在类中定义的方法默认是实例方法,实例方法的第一个参数会绑定(指向)到这个实例方法的调用者(就是指向通过类形成的对象),因此实例方法至少应该定义一个参数,这个参数通常会被命名为self。

       在实例方法中有一个特别的方法:__init__,这个方法被称为构造方法。构造方法用于构造该类的对象,如果开发者没有为该类定义任何构造方法,python会自动为该类定义一个只包含一个self参数的默认的构造方法。

构造一个具体对象,并操作该对象的实例变量,及该对象的方法:

        实例变量:

        

 

 

        

 

        方法: 

     

 

    

自动绑定self:对于在类体中定义的实例方法,python会自动绑定实例方法的第一个参数到调用该方法的对象上,

      

 

      上面代码的run()方法中的self代表该方法的调用者:谁在调用run()方法,那么self方法就代表谁

       当一个Dog对象调用run()方法时,run()方法需要依赖该Dog对象的jump()方法

 函数空间,类空间,类的实例方法空间

      

      

类调用实例方法:

 

      类调用实例方法,必须手动为方法的第一个参数传入参数值

      

 

   

 

       这里可以看出第一个传入的u,代表了这个u的内存地址。

类方法和静态方法:

  对象有实例方法,类本身也可以有属于自己的方法,叫做类方法,类方法的第一个参数(通常写为cls)指向(绑定)到类本身。

  静态方法是谁调用它,都必须给它一个参数,好让这个方法绑定到这个参数上。

 

posted @ 2020-03-01 13:51  蜗牛的笔迹  阅读(153)  评论(0编辑  收藏  举报