python中self 解释

python中的self就相当于C++中的this指针
也就是指向对象本身的指针
self.name = name 就是当前对象的成员变量name赋值为name。
 
类内的函数带上self这个参数是Python的一个习惯,一般类内函数都会带上这个self,当一个Person实例进行方法调用时,self的作用就出来了。比如a是一个Person实例,调用greet(self)函数,那么它可以写成a.greet(),相当于greet(a),a被当作self传进了函数。
self当然可以不加,而之所以显式带上self,是为了更加明确,即显胜于隐,让人一目了然。其实也不一定叫self,也可以用a,b,c,d……等等各种名字来代替self,但用self是一种命名习惯,大家一般都遵守这个习惯。
之所以只有setname有两个参数,是因为除了第一个self是必需的,我们还需要为类内的变量赋值,所以又传入了一个值,这个值就存在函数参数列表里的name中。另两个函数都是用的类内的变量,所以不需要额外的参数。
posted @ 2017-09-05 16:03  云中摆渡的老船长  阅读(652)  评论(0编辑  收藏  举报

It's not who you are underneath, it's what you do that defines you

Brick walls are there for a reason :they let us prove how badly we want things