Python的“绑定机制”(self)

来源:互联网 发布:mac 截图 任意区域 编辑:程序博客网 时间:2024/06/12 01:01

“绑定”就是将实例对象与属性和方法相关联,通过实例对象来调用属性和方法。
在Python中,函数送的self参数就是用来接收绑定的。
运行下面的程序:

class Test:    def setXY(self,x,y):        self.x=x        self.y=y    def printXY(self):        print(self.x,self.y)

创建Test的实例对象tt,查看tt的属性和方法,

这里写图片描述

可以发现tt属性和方法为空。当tt调用类方法时,再次查看:
这里写图片描述

此时就有了x,y.
说明当tt调用类方法时,通过self参数进行了动态绑定,将tt带入到self的位置。

tt.setXY(tt,1,2)

将实例对象tt的x,y值设置为1和2.但是,对于类对象Test而言,x和y没变化。
这里写图片描述
如果将类对象删除,实例对象的属性和方法还存在吗??
这里写图片描述

存在!
因为类的属性和方法属于静态的,不会随着类对象的删除而删除。对于实例对象的属性和方法来说,除非程序退出,不然属性和方法是一直存在着的。。

0 0