python面向对象编程(2)|属性和实例化方法

上次我们定义了人类并实例化出张三这个对象,今天我们就来谈谈面向对象中的属性和实例化方法。

属性的增删改查

下图是我们定义的人类和实例化的对象

《python面向对象编程(2)|属性和实例化方法》

现在我们就来看看属性的增删改查的实现方法

增加属性其实很简单,就相当于给一个新的变量赋值。为了实现前后比较的效果,我们先来看看未增加属性之前实例化对象p有哪些属性

《python面向对象编程(2)|属性和实例化方法》

再来看看增加属性hobby之后p有哪些属性

《python面向对象编程(2)|属性和实例化方法》

可以看到,增加属性成功!!

《python面向对象编程(2)|属性和实例化方法》

可以看到,属性hobby已被删掉

《python面向对象编程(2)|属性和实例化方法》

属性的查看其实在上一次就学到了

《python面向对象编程(2)|属性和实例化方法》

类属性

实例化对象有属性,类同样也有属性

《python面向对象编程(2)|属性和实例化方法》

注释部分是什么意思呢?其实是这样的,类属性可以被实例化对象调用,比如p.weight就是调用了类属性,这里的调用是实例化对象先自身寻找weight属性,如果本身也有weight属性,就调用本身的属性,如果本身没有该属性,则调用类属性;而我们在上一期已经知道,类是不能调用实例化的属性的。

本身有weight属性

《python面向对象编程(2)|属性和实例化方法》

本身没有weight属性,调用类属性

《python面向对象编程(2)|属性和实例化方法》

实例化方法

上面我们对实例化对象的属性进行了增删改查操作,但是作为人类,张三不仅有名字、年龄等等,他还会哭会笑会吃饭会跑会跳,这些在面向对象编程中就是方法,今天我们就来给张三添加方法。其实非常简单,就和我们之前学习的方法一样。

《python面向对象编程(2)|属性和实例化方法》

注意在定义实例化方法时,一定要有self参数,虽然换成其它的也行,但是非常不提倡。在调用实例化方法时self不用传入,其它参数按普通方法的方式传入即可。

其实面向对象编程除了实例化方法还有类方法和静态方法,这些我们下一期再来了解。

《python面向对象编程(2)|属性和实例化方法》 python小白联盟

    原文作者:雨路浅歌
    原文地址: https://www.jianshu.com/p/779dc38963ed
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞