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()

上面这个代码,一定可以正确运行,如下图所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/125384347