2024-02-17 04:32:43 | 我爱编程网
self指的是自身,这里的self就是类自身,self.name就是Person类里的变量,是Person所有。而name是外部传来的参数,不是Person自己的变量。self.name=name这句话就是把外部传来的参数name值赋值给Person类内自己的变量name。
在Python中,实例方法中的self表示类的实例化对象,而类方法中的cls则表示类本身。
实例方法的第一个参数是self,它必须存在于所有实例方法中,并且必须指向实例对象本身。实例方法可以访问实例属性和实例方法,也可以被子类继承。
类方法的第一个参数是cls,它必须存在于所有类方法中,并且必须指向类本身。类方法可以访问类属性和类方法,但是不能访问实例属性和实例方法。
我爱编程网(https://www.52biancheng.com)小编还为大家带来Python里面的self,是谁啊?的相关内容。
大家学Python面向对象的时候,总会遇到一个让人难以理解的存在:self
这个self到底是谁啊,为什么每个类实例方法都有一个参数self,它到底有什么作用呢?
「先下结论:类实例化后,self即代表着实例(对象)本身」
想要理解self有个最简单的方法,就是你把self当做
「实例(对象)的身份证。」
Python的类不能直接使用,只有通过创建实例(对象)才能发挥它的功能,每个实例(对象)都是独一无二的,它可以调用类的方法、属性。类就像灵魂附体一样,让实例(对象)有了自己(self)的功能。
初学者会发现,类的方法(构造方法和实例方法)中都会有一个固定参数self,其实这个参数就是代表着实例(对象)本身,就像是一个身份证,实例可以凭着身份证去调用类方法。
类比人类,人类就是一个Python类,每个个体的人代表着实例(对象),而每个人的身份证代表的Python中self,每个人可以凭借身份证去上大学、坐高铁、住酒店...(方法),而Python中的实例(对象)也可以凭着self去调用类的方法。
上面是用类比的方法解释了下self的含义,说到底self就是代表着实例本身,
「当某个实例(对象)调用类方法时,该对象会把自身的引用作为第一个参数自动传给该方法,而这第一个参数就是self。」
而且self只是约定俗成的写法,你可以用任何其他名称代替self,不会改变代码含义,只不过我们一般不这样做。
为了更好的说明self的作用,我们来举个例子,下面有一个Students类:
先来个实例student_a
再来个实例student_b
可以看出,实例(对象)不一样,打印出的结果也不一样,当类被实例化后,self.name其实就等于实例(对象).name
还是以刚刚的代码为例,我们再来调用里面的实例方法,里面会打印出self,就能看得更加明显了
实例student_a:
输出结果:
实例student_b:
输出结果:
大家能清楚看到两个实例打印出的self是不一样的,因为self代表着实例(对象)本身。
以实例student_b来说,打印self出现下面对象信息
如果再打印 student_b,会出现同样的结果我爱编程网
输出:
这个时候是不是就清楚了,类实例化后,self即代表着实例(对象)本身
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01