Python-self

在定义类的过程中,无论是显示创建类的构造方法,还是向类中添加实例方法,都要求将self参数作为第一个参数。

self到底是什么?扮演着什么样的角色呢?

Python只是规定,无论是构造方法还是实例方法,最少都要包含一个参数,并没有规定改参数的具体名称。

那么self参数的作用是什么?

举个例子,如果把类比作造车的设计图,那么类实例化后的对象就是可以开得车子,然后依照设计图(类),我们可以设计出很多辆车(类对象),每个车子的样子都差不多(都有着相同的类变量和类方法),但是它们都有自己的车主。问题来了,怎么对它们进行区分呢?

当然是通过self参数,它就相当于每一辆车的钥匙,可以确保每一辆车的主人只能进入自己的车(每一个类对象只能调佣自己的类变量和类方法)

(其实Python类方法中seldom参数就相当于C++中的this指针)

也就是说同一个类可以产生多个对象,当某个对象调用类方法时,该对象会把自身的引用作为第一个参数自动传给该方法,换句话说,Python会自动绑定类方法的第一个参数指向调用该方法的对象。

posted @ 2021-09-01 16:45  孤-阳  阅读(34)  评论(0)    收藏  举报