Python面向对象编程(类编程)中self的含义详解(简单明了直击本质的解释)

Posted 昊虹图像算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面向对象编程(类编程)中self的含义详解(简单明了直击本质的解释)相关的知识,希望对你有一定的参考价值。

以下是博主认为的对self讲解得比较透彻又简洁明了的资料。






上面的资料把这个问题说得简单明了,大家认真看一遍相信就对self有个深入的了解了。
总结一下:
在Python为面向对象编程中,成员函数被调用时,无论函数有没有参数,都会有一个参数传给它,这个参数就是类本身,所以我们在定义成员函数时不管有没有参数传递,都要写上一个参数,这个参数代表类本身,通过这个参数我们可以引用类的成员变量和成员函数。
这个参数通常我们命名为self,当然你也可以写为其它的名字,但是为代码的标准和可读性,不建议这样操作。
所以,下面的代码:

class Staff:  # Staff为员工的意思
    bonus = 30000  # bonus为津贴、奖金的意思

    def salary(self):  # salary为工资的意思
        salary = 10000+self.bonus
        return salary


zhang_san = Staff()
zhang_san_salray = zhang_san.salary()

我们也可以写为:

class Staff:  # Staff为员工的意思
    bonus = 30000  # bonus为津贴、奖金的意思

    def salary(swh):  # salary为工资的意思
        salary = 10000+swh.bonus
        return salary


zhang_san = Staff()
zhang_san_salray = zhang_san.salary()

上面这个代码,一定可以正确运行,如下图所示:

以上是关于Python面向对象编程(类编程)中self的含义详解(简单明了直击本质的解释)的主要内容,如果未能解决你的问题,请参考以下文章

python之面向对象编程

Python中的面向对象编程(类编程)由简单到复杂的示例代码

面向对象编程(python)和部分面向对象高级编程

python之面向对象

Python 面向对象编程

Python面向对象编程基础